0

我有一个view包含 aTableViewUIImagea 的 a UIButton。在UIButtonIB 中配置并定位如下: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

4 回答 4

0

如果您启用了自动布局,则查找约束。

第二种方法是使用 initWithFrame: 每当您返回该视图时。

于 2013-01-22T09:06:26.500 回答
0

在此处输入图像描述

你需要设置autoresizingMask

self.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;

有关更多信息,请查看此链接

于 2013-01-22T09:06:58.177 回答
0

把你的代码

self.camButton.frame = CGRectMake(0, 410,127,49);

-(void)viewWillAppear:(BOOL)animated

于 2013-01-22T09:15:07.650 回答
0

您在哪里设置按钮的框架(loadview、viewwillappear 等)以及在哪里分配按钮?您是否取消了dealloc中的按钮?尝试设置 UIViewAutoresizingFlexibleTopMaring | UIViewAutoresizingFlexibleBottomMargin。

于 2013-01-22T09:21:31.693 回答