小编luk*_*kas的帖子

自动布局UIScrollView以及具有动态高度的子视图

使用自动布局约束我遇到了UIScrollView的麻烦.我有以下视图层次结构,通过IB设置约束:

- ScrollView (leading, trailing, bottom and top spaces to superview)
-- ContainerView (leading, trailing, bottom and top spaces to superview)
--- ViewA (full width, top of superview)
--- ViewB (full width, below ViewA)
--- Button (full width, below ViewB)
Run Code Online (Sandbox Code Playgroud)

ViewA和ViewB的初始高度为200点,但可以通过单击将其垂直扩展到400点的高度.ViewA和ViewB通过更新其高度约束(从200到400)进行扩展.这是相应的片段:

if(self.contentVisible) {
    heightConstraint.constant -= ContentHeight;
    // + additional View's internal constraints update to hide additional content 
    self.contentVisible = NO;
} else {
    heightConstraint.constant += ContentHeight;
    // + additional View's internal constraints update to show additional content
    self.contentVisible = YES; …
Run Code Online (Sandbox Code Playgroud)

objective-c uiscrollview ios autolayout

40
推荐指数
3
解决办法
6万
查看次数

Autolayout UIScrollView约束奇怪的行为

我已经在这里阅读了iOS6发行说明和Autolayout + UIScrollview的一些相关主题,但我有一个奇怪的错误我不知道如何解决.

视图的层次结构是:

- View
-- UIScrollView
---- UIImageView
---- UILabel
Run Code Online (Sandbox Code Playgroud)

我通过Interface Builder在视图中添加了元素,并使用了Autolayout ON并保留了默认约束.

我的标签有动态文本,其高度是可消耗的(在IB中配置的行数= 0).我希望滚动视图自动适应图像视图+标签的高度.

以下是关联的视图控制器类的代码:

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.scrollView.translatesAutoresizingMaskIntoConstraints = NO;
    self.imageView.translatesAutoresizingMaskIntoConstraints = NO;
    self.label.translatesAutoresizingMaskIntoConstraints = NO;

    self.imageView.image = [UIImage imageNamed:@"image.png"];

    self.label.text = @"Text text Text text Text text Text text Text text Text text Text text Text text Text text Text text Text text Text text Text text Text text Text text Text text Text text Text text Text text Text text Text text …
Run Code Online (Sandbox Code Playgroud)

constraints objective-c uiscrollview ios autolayout

6
推荐指数
1
解决办法
3426
查看次数

标签 统计

autolayout ×2

ios ×2

objective-c ×2

uiscrollview ×2

constraints ×1