当 UIView 的 needsUpdateConstraints 被调用时,UITableview 滚动到顶部[关闭]

Posted

技术标签:

【中文标题】当 UIView 的 needsUpdateConstraints 被调用时,UITableview 滚动到顶部[关闭]【英文标题】:UITableview scrolls top when UIView's needsUpdateConstraints is called [closed] 【发布时间】:2014-07-22 13:43:00 【问题描述】:

UIView's 时,有什么方法可以阻止UITableView 在顶部滚动

needsUpdateConstraints

方法被调用。这样当我点击行时,选定的单元格应该是可见的。

@property (weak, nonatomic) IBOutlet NSLayoutConstraint *viewWidthConstraint;

- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
    self.viewWidthConstraint.constant = 540;
    [self.viewForm needsUpdateConstraints];

【问题讨论】:

@Andrew Barber:我已经解释了需要解决的问题。我认为你应该搁置 50% 的 SO 问题,如果是这样的话。 【参考方案1】:

您是否尝试将可滚动设置为 NO?

tableView.scrollEnabled = NO;

查看您的问题后,我有几个关于发生了什么的问题。

如果您在 tableView 上呈现 UIView,然后将 UIView 的 userInteractionEnabled 设置为 NO,则 UIView 会将触摸传递给 tableView。如果您希望该视图阻止与 tableView 的交互,则需要将 userInteractionEnabled 设置为 YES;

【讨论】:

其实我需要 UITableView 应该是可滚动的。这就是所有视图的堆叠方式。iPad:1)UITableView 2)UIView(包含 UITableView 和一个 UIButton)3)UIViewController(主视图) UITableView 也没有其他视图。只有当我更新 #2 UIView 的约束(其中包含 UITableView 作为子视图)时才会发生这种情况。我还在情节提要中添加了自动布局约束。

以上是关于当 UIView 的 needsUpdateConstraints 被调用时,UITableview 滚动到顶部[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

当我们编辑 UITextField 时,将带有一些 UITextFields 的 UIView 向上移动

当调整大小小于元素时,如何使元素隐藏在 UIView 中

当 UIView 的 needsUpdateConstraints 被调用时,UITableview 滚动到顶部[关闭]

当 UIView 框架改变其大小时执行方法 iPhone iPad

当键盘出现在 iOS 中时,将 UIView 上移

当superView frameWidth 发生变化时,UIView 不会自动调整大小