在iOS 6.0发布说明中,有以下声明:
请注意,您可以通过在视图和滚动视图子树之外的视图(例如滚动视图的superview)之间创建约束来使滚动视图的子视图出现漂浮(而不是滚动)在其他滚动内容上方。
任何人有想法吗?
请注意,您可以通过在视图和滚动视图子树之外的视图(例如滚动视图的superview)之间创建约束来使滚动视图的子视图出现漂浮(而不是滚动)在其他滚动内容上方。
任何人有想法吗?
我进行了一些尝试,现在有一个可行的例子。
这个视图不会滚动,它会被放置在顶部,高度是滚动视图高度与任意值之间的差值。
// in viewDidLoad
UIIView *myView = [[UIView alloc] init];
[self.scrollView addSubview:myView];
myView.translatesAutoresizingMaskIntoConstraints = NO;
NSLayoutConstraint *constraint = [NSLayoutConstraint constraintWithItem:self.mapView
attribute:NSLayoutAttributeTop
relatedBy:(NSLayoutRelationEqual)
toItem:self.containerView
attribute:(NSLayoutAttributeTop)
multiplier:1.0
constant:0];
[self.view addConstraint:constraint];
// Give my view some intrinsic size
NSDictionary *dict = NSDictionaryOfVariableBindings(myView);
NSArray *constraints = [NSLayoutConstraint constraintsWithVisualFormat:@"|[myView]|"
options:(NSLayoutFormatAlignAllBaseline)
metrics:nil
views:dict];
[self.view addConstraints:constraints];
// In view did appear
// calc height from height of scroll view - this is needs work
float height = -self.scrollView.frame.size.height + 250;
NSLayoutConstraint *constraint = [NSLayoutConstraint constraintWithItem:self.mapView attribute:NSLayoutAttributeHeight
relatedBy:(NSLayoutRelationEqual)
toItem:self.containerView
attribute:(NSLayoutAttributeHeight)
multiplier:1.0
constant:offset];
[self.view addConstraint:constraint];