【问题标题】:Prevent subview from scrolling in a UIScrollView防止子视图在 UIScrollView 中滚动
【发布时间】:2011-03-01 23:08:15
【问题描述】:

我有一个 UIScrollView 子类,其中包含我想阻止滚动的某个子视图(而所有其他子视图都正常滚动)。

我能想到的最接近的示例是右侧的UITableView 的“索引条”(查看联系人应用程序以查看示例)。我猜这是表格的子视图(scrollview),但它不会随着用户滚动而移动。

我似乎无法让我的子视图保持原样!我怎样才能做到这一点?

【问题讨论】:

    标签: iphone cocoa-touch uitableview scroll uiscrollview


    【解决方案1】:

    将您不想移动的视图作为滚动视图的同级视图添加到滚动视图之上,而不是作为子视图。

    【讨论】:

    • 同意,如果您不希望它被滚动,只需将其从子视图中删除并添加为具有适当框架的附加子视图。
    【解决方案2】:

    诀窍是调整-layoutSubviews内“不可滚动”子视​​图的框架。

    【讨论】:

    • -(void)layoutSubviews { [super layoutSubviews]; self.label.x = CONTENT_OFFSET + self.contentOffset.x; }
    • 为什么在layoutSubviews中设置框架会使子视图无法滚动?
    【解决方案3】:

    您可以将其名为 userInteractionEnabled 的属性设置为 NO

    【讨论】:

    • 没有。这将阻止整个滚动视图滚动。相反,我试图阻止滚动视图的 一个 子视图移动,而其他所有子视图都在滚动。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-01
    • 1970-01-01
    • 2012-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多