返回ViewController时按钮更改位置

时间:2013-01-22 09:03:12

标签: ios objective-c cocoa-touch cocoa

我的view包含TableViewUIImageUIButtonUIButton已在IB中配置,其位置如下:self.camButton.frame = CGRectMake(0, 410,127,49);我的问题是UIButton在我弹回第一个ViewController时更改了其位置。在第一次加载时,它位于正常但当我回到ViewController时,按钮位于视图中大约20像素。我正在尝试记录按钮的位置,所以我进入viewWillAppearNSLog(@"Bug Fixes: %f",self.camButton.frame.origin.y); NSLog(@"Bug Fixes: %f",self.view.frame.origin.y);但是我在第一次加载和按钮放错位置时总是得到410和0。我正在玩其他View中的ViewControllers位置(同时显示键盘,例如我向上推view)但我不认为这是导致它的原因因为视图停留当我回到第一个ViewController

时,在同一位置

4 个答案:

答案 0 :(得分:0)

如果启用了autoLayout,则查找约束。

第二种方法是使用initWithFrame:每当你返回那个视图时。

答案 1 :(得分:0)

enter image description here

您需要设置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。