如何将实现类似iPhone形式的页面卷动
2009-06-11 19:03
330 查看
像iPhone那种用手指拖拽形式的页面卷动在某些情况下很有用。如果是一个比较大的图形或者列表,显然这种滚动形式更容易看清楚。
您只要阅读本文就知道如何简单地实现了。
@implementation Blah
…
- (void) mouseDown: (NSEvent *) event
{
grabOrigin = [event locationInWindow];
NSClipView *contentView;
contentView = (NSClipView*)[layerView superview];
scrollOrigin = [contentView bounds].origin;
} // mouseDown
- (void) mouseDragged: (NSEvent *) event
{
NSPoint mousePoint;
mousePoint = [event locationInWindow];
float deltaX, deltaY;
deltaX = grabOrigin.x - mousePoint.x;
deltaY = mousePoint.y - grabOrigin.y;
NSPoint newOrigin;
newOrigin = NSMakePoint (scrollOrigin.x + deltaX,
scrollOrigin.y + deltaY);
[layerView scrollPoint: newOrigin];
} // mouseDragged
…
@end // Blah
改变鼠标指针的方法是
[[NSCursor closedHandCursor] push];
也可以是 openHandCursor
改回去:
[NSCursor pop];
你可以在mouseDragged的时候设置鼠标指针,mouseUp时恢复。这样看起来感觉更好。
您只要阅读本文就知道如何简单地实现了。
@implementation Blah
…
- (void) mouseDown: (NSEvent *) event
{
grabOrigin = [event locationInWindow];
NSClipView *contentView;
contentView = (NSClipView*)[layerView superview];
scrollOrigin = [contentView bounds].origin;
} // mouseDown
- (void) mouseDragged: (NSEvent *) event
{
NSPoint mousePoint;
mousePoint = [event locationInWindow];
float deltaX, deltaY;
deltaX = grabOrigin.x - mousePoint.x;
deltaY = mousePoint.y - grabOrigin.y;
NSPoint newOrigin;
newOrigin = NSMakePoint (scrollOrigin.x + deltaX,
scrollOrigin.y + deltaY);
[layerView scrollPoint: newOrigin];
} // mouseDragged
…
@end // Blah
改变鼠标指针的方法是
[[NSCursor closedHandCursor] push];
也可以是 openHandCursor
改回去:
[NSCursor pop];
你可以在mouseDragged的时候设置鼠标指针,mouseUp时恢复。这样看起来感觉更好。
相关文章推荐
- [置顶] 简述Android中如何实现播放视频形式的引导页面
- 如何用mui框架实现城市选择中常用城市以及根据城市名称的首字母铺数据(页面效果类似手机通讯录那种)
- iphone 上实现类似iphone自带股票软件下端的页面循环滚动
- WPF如何实现类似iPhone界面切换的效果(转载)
- 设备中如何实现类似gopro给iphone分配ip但是不修改dns的功能
- 设备中如何实现类似gopro给iphone分配ip但是不修改dns的功能
- 利用Nginx负载均衡的访问SpringBoot服务,还有如何利用Nginx实现404,500等错误页面的拦截
- Multiple-View ViewPager-如何实现Viewpager控件的一个页面展示多个page以及回弹效果
- 如何实现在当前jsp页面中通过点击按钮来跳转到上一个次访问的页面
- 关于JavaWeb如何实现用户注册 后台即时提醒(类似站内信功能)
- Monitor项目开发走过的路~实现一个类似命令行形式的TextView
- 如何实现pushViewController:animated:的不同页面转换特效?
- js + jquery 实现无限加载页面的分页(类似京东手机版)
- Java中如何实现类似C++结构体的二级排序
- -- 如何实现圆角的UITextView --iphone短信发送(非系统界面)
- 如何用SQLDMO在ASP.NET页面下实现数据库的备份与恢复
- 报表移动端app如何实现页面自适应?
- 实现手机扫描二维码页面登录,类似web微信-第二篇,关于二维码的自动生成
- iphone iPhone开发中如何将制作图片放大缩小代码实现案例