您的位置:首页 > 其它

如何将实现类似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时恢复。这样看起来感觉更好。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐