对象C:UIView在右下角

时间:2014-08-13 13:56:28

标签: ios objective-c uiview

我似乎无法弄清楚我在这里做错了什么。我想在屏幕的右下角粘贴一个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];

现在对我来说,这应该是在视图的右下角加一点填充。但它完全不在屏幕上。我关闭了自动布局,我只是卡住了。请有人帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

我知道现在已经很老了 - 但我偶然发现了同样的问题并找到了解决方案。

基本上,如果您在viewDidLoad或类似内容中读出self.view.frame值,则布局似乎尚未完成,因此框架已关闭。

尝试覆盖viewWillLayoutSubviews并在[super viewWillLayoutSubviews];之后再次设置框架 - 它会起作用!

请注意,添加viewWillAppear中的视图可能不会只调用一次,因此可以多次添加视图!