我似乎无法弄清楚我在这里做错了什么。我想在屏幕的右下角粘贴一个UIView,但对齐关闭了。在我看来,我有加载...... $
int size = 50;
CGRect frame = CGRectMake(self.view.frame.size.width - (size + 10), self.view.frame.size.height - (size + 10), size, size);
UIView *colorView = [[UIView alloc]initWithFrame:frame];
colorView.layer.cornerRadius = size / 2;
colorView.layer.masksToBounds = YES;
colorView.backgroundColor = ColorDarkGray;
[self.view addSubview:colorView];
现在对我来说,这应该是在视图的右下角加一点填充。但它完全不在屏幕上。我关闭了自动布局,我只是卡住了。请有人帮我解决这个问题。
答案 0 :(得分:0)
我知道现在已经很老了 - 但我偶然发现了同样的问题并找到了解决方案。
基本上,如果您在viewDidLoad或类似内容中读出self.view.frame
值,则布局似乎尚未完成,因此框架已关闭。
尝试覆盖viewWillLayoutSubviews
并在[super viewWillLayoutSubviews];
之后再次设置框架 - 它会起作用!
请注意,添加viewWillAppear
中的视图可能不会只调用一次,因此可以多次添加视图!