无法显示控件使用自动布局添加到滚动视图的内容视图中
Posted
技术标签:
【中文标题】无法显示控件使用自动布局添加到滚动视图的内容视图中【英文标题】:not able to display controls add in scroll view's content view using auto layout 【发布时间】:2013-10-18 12:34:56 【问题描述】:我是自动布局部分的新手。我正在以编程方式创建一个带有滚动的视图,但我无法在滚动视图的内容视图中添加控件
这是我的代码:
-(void)setConstraints
UIScrollView *scrollView = [UIScrollView new];
[scrollView setTranslatesAutoresizingMaskIntoConstraints:NO];
scrollView.backgroundColor = [UIColor greenColor];
UIView *contentView = [UIView new];
[contentView setTranslatesAutoresizingMaskIntoConstraints:NO];
contentView.backgroundColor = [UIColor redColor];
UILabel *lableTitle = [UILabel new];
lableTitle.text = @"Registration";
[lableTitle setTranslatesAutoresizingMaskIntoConstraints:NO];
NSLayoutConstraint *layoutLableTop = [NSLayoutConstraint constraintWithItem:lableTitle attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeTop multiplier:1 constant:20];
[self.view addConstraint:layoutLableTop];
NSLayoutConstraint *layoutLableCenterX = [NSLayoutConstraint constraintWithItem:lableTitle attribute:NSLayoutAttributeCenterX relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeCenterX multiplier:1 constant:0];
[self.view addConstraint:layoutLableCenterX];
[contentView addSubview:lableTitle];
[scrollView addSubview:contentView];
[self.view addSubview:scrollView];
显示的视图只是白屏。我做错了什么?
【问题讨论】:
【参考方案1】:例如,您必须为尺寸添加约束
[self.view addConstraint:
[NSLayoutConstraint constraintWithItem:scrollView
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem:contentView
attribute:NSLayoutAttributeWidth
multiplier:1
constant:200]];
[self.view addConstraint:
[NSLayoutConstraint constraintWithItem:scrollView
attribute:NSLayoutAttributeHeight
relatedBy:NSLayoutRelationEqual
toItem:contentView
attribute:NSLayoutAttributeHeight
multiplier:1
constant:200]];
【讨论】:
对不起@jaba,但它显示了视图。 你在哪里调用方法? 它应该显示 300-300 大小的绿色视图。 是的,它现在正在显示滚动视图@jaba。但我仍然需要做更多的事情。之后我会更新你。如果我找不到路。以上是关于无法显示控件使用自动布局添加到滚动视图的内容视图中的主要内容,如果未能解决你的问题,请参考以下文章