我的view
包含TableView
,UIImage
和UIButton
。 UIButton
已在IB中配置,其位置如下:self.camButton.frame = CGRectMake(0, 410,127,49);
我的问题是UIButton
在我弹回第一个ViewController
时更改了其位置。在第一次加载时,它位于正常但当我回到ViewController
时,按钮位于视图中大约20像素。我正在尝试记录按钮的位置,所以我进入viewWillAppear
:
NSLog(@"Bug Fixes: %f",self.camButton.frame.origin.y);
NSLog(@"Bug Fixes: %f",self.view.frame.origin.y);
但是我在第一次加载和按钮放错位置时总是得到410和0。我正在玩其他View
中的ViewControllers
位置(同时显示键盘,例如我向上推view
)但我不认为这是导致它的原因因为视图停留当我回到第一个ViewController
答案 0 :(得分:0)
如果启用了autoLayout,则查找约束。
第二种方法是使用initWithFrame:每当你返回那个视图时。
答案 1 :(得分:0)
您需要设置autoresizingMask
self.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
有关详细信息,请查看此link
答案 2 :(得分:0)
把你的代码
self.camButton.frame = CGRectMake(0, 410,127,49);
-(void)viewWillAppear:(BOOL)animated
中的
答案 3 :(得分:0)
你在哪里设置按钮的框架(loadview,viewwillappear等......)以及你在哪里分配按钮?你在dealloc中按下按钮吗?尝试设置UIViewAutoresizingFlexibleTopMaring | UIViewAutoresizingFlexibleBottomMargin。