我想以编程方式创建一个显示说明的scrollView
。
我的层次结构可能是这样的:
->root View
--->scroll View
----->content View
------->Label1
------->Label2
------->Label3
这是一张显示应用程序结构的图片:
这是到目前为止的代码,我得到了我想要的东西,但现在我需要将所有这些包含在scrollView
中(只能垂直滚动)。
我尝试了很多不同的东西,但我还是不知道怎么做。
UIView *contentView = [UIView autolayoutView];
contentView.backgroundColor = [UIColor greenColor];
[self.view addSubview:contentView];
NSDictionary *views2 = NSDictionaryOfVariableBindings(contentView);
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"|[contentView]|" options:0 metrics:0 views:views2]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[contentView]" options:0 metrics:0 views:views2]];
UILabel *one = [UILabel autolayoutView];
UILabel *two = [UILabel autolayoutView];
UILabel *three = [UILabel autolayoutView];
for(UILabel *label in @[one,two,three]){
label.backgroundColor = [UIColor redColor];
label.text = @"fjeif\njeif\noesjf\nfjeif\njeif\noesjf\nfjeif\njeif\noesjf\nosfj";
label.numberOfLines = 0;
[contentView addSubview:label];
}
NSDictionary *views3 = NSDictionaryOfVariableBindings(one,two,three);
[contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"|-[one]-|" options:0 metrics:0 views:views3]];
[contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-[one(two)]-[two(three)]-[three]-|" options:NSLayoutFormatAlignAllLeft | NSLayoutFormatAlignAllCenterX metrics:0 views:views3]];
谢谢,对不起,如果我没有充分描述我的问题,我很着急。看图像应该足以理解了。
答案 0 :(得分:0)
虽然我从XIB设置了所有约束,但我遇到了同样的问题。你可以这样做。
相对于容器视图,将前缘,后缘,顶部空间和底部空间约束添加到标签。然后,您可以将相同的约束添加到与scrollView相关的容器视图中。对scrollView执行相同的练习。 您只需要在容器视图中再添加一个约束(在容器视图约束中水平居中)。 希望这会对你有所帮助。