【问题标题】:NSScrollView origin point during scrolling滚动时的NSScrollView原点
【发布时间】:2011-08-10 16:05:57
【问题描述】:

我正在尝试使用 Lion 中的 NSScrollView 构建类似于在 iPhone 应用程序中如此流行的拉动刷新概念的东西,但是没有 contentOffset 之类的属性,并且当我在上方滚动时框架似乎没有受到影响限制。 是否有关于如何执行此操作的示例代码? Mac 版的 twitter 做得很好,但我不知道他们是如何做到的!

【问题讨论】:

    标签: cocoa osx-lion nsscrollview


    【解决方案1】:

    像这样注册滚动通知:

    [[scrollView contentView] setPostsBoundsChangedNotifications: YES];
    [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(viewDidScroll:) name:NSViewBoundsDidChangeNotification object:nil];
    

    然后使用[[scrollView contentView]bounds].origin.y 确定视图滚动的距离并做出相应的响应。

    - (void)viewDidScroll:(NSNotification *)notification {
        if ([[scrollView contentView]bounds].origin.y < 0) {
            //Refresh here
        }
    }
    

    【讨论】:

    • 我也在这样做,但是一旦我更改为微调器,我就无法保持滚动视图在“反弹区域”中向上滚动。有什么想法吗?
    • 也许您可以在刷新时将显示“Refresing”的视图向下推。
    • 我还必须将已经在内容视图中的所有内容向下移动。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-07
    • 2016-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多