在 这篇技术说明 中,苹果宣称你可以通过向 UIScrollView 的 superview 添加约束条件来使 UIScrollView 的子视图固定 / 浮动。我尝试了这种方法,但是出现问题,无法找到问题所在。
请注意,您可以通过在视图和滚动视图的子树之外 (例如滚动视图的 superview) 的视图之间创建约束来使滚动视图的子视图看起来浮动(而不是滚动)到其他滚动内容上方。
这就是我所做的。我已经设置好一个 UIScrollView 并尝试将固定视图添加到滚动视图的顶部,如下所示:
然而,这样做行不通,添加的视图会随着滚动视图移动,而不是“浮动”。有什么想法是错的吗?
请注意,您可以通过在视图和滚动视图的子树之外 (例如滚动视图的 superview) 的视图之间创建约束来使滚动视图的子视图看起来浮动(而不是滚动)到其他滚动内容上方。
这就是我所做的。我已经设置好一个 UIScrollView 并尝试将固定视图添加到滚动视图的顶部,如下所示:
_testOverlay = [[UIView alloc] init];
_testOverlay.backgroundColor = [UIColor blueColor];
_testOverlay.translatesAutoresizingMaskIntoConstraints = NO;
[self.scrollView addSubview:_testOverlay];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"|[_testOverlay]|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_testOverlay)]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[_testOverlay(64)]-(>=0)-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_testOverlay)]];
然而,这样做行不通,添加的视图会随着滚动视图移动,而不是“浮动”。有什么想法是错的吗?
self.view
是UITableView
并且没有超级视图,我该如何处理? - Eimantas