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