我必须做错事,但不知道是什么......
我尝试使用以下代码添加一个subView:
subMenuView = [[UISubMenuViewMainController alloc] init];
[subMenuView.view setFrame:CGRectMake(10,0,990,100)];
subMenuView.view.backgroundColor = [UIColor whiteColor];
[self.view addSubview:subMenuView.view];
我希望我的视图位于(10,0)并且宽度/高度为990/100
但我没有得到预期的结果
如果我错了,请告诉我,如果我想要一个10x10的正方形视图,我必须添加以下行:
[subMenuView.view setFrame:CGRectMake(512,384,10,10)];
这不是我得到的,位置是正确的,但宽度/高度是错误的,任何想法?
答案 0 :(得分:11)
如果您使用autolayout,则调用setFrame没有用,请尝试在setFrame之前调用setTranslatesAutoresizingMaskIntoConstraints
答案 1 :(得分:7)
通过设置
修复了问题self.view.autoresizesSubviews = NO;
答案 2 :(得分:0)
代码有点不同寻常,但我猜测是因为你在将视图添加为子视图之前设置视图的框架。因此,在您看到子视图之前,子视图的位置可能会被layoutSubviews更改。
因此,请尝试将第二行代码放在最后,看看是否可以解决问题。
答案 3 :(得分:-1)
尝试使用浮点数而不是整数:
[subMenuView.view setFrame:CGRectMake(10,0,990,100)];
为:
[subMenuView.view setFrame:CGRectMake(10.0f,0.0f,990.0f,100.0f)];