2013-01-16 87 views
0

我试图改变我的UIButton在界面生成器中的位置和大小。我很难过。动态重置用户界面按钮

我想这个代码在viewDidAppear结束:

[_smartphoneButton setFrame:CGRectMake(20, 20, 100, 50)]; 

没有什么变化。但我知道_smartphoneButton是有效的,因为_smartphoneButton.hidden = YES;的作品,以及更改UIButton图像。

并提出建议?

PS,所有这些工作之一:

_smartphoneButton.frame = CGRectMake(20, 20, 100, 50); 

_smartphoneButton.center = CGPointMake(10.0f, 10.0f); 

在此先感谢!

+1

因为隐藏的赋值,你当然不会“知道它是有效的”。在viewDidLoad中添加一个断点,然后对那个东西进行处理。 – CodaFi

+0

“中心”方法开始工作。也没有改变一件事。嗯。 –

+1

你有没有尝试清理你的构建和构建文件夹? –

回答

0

同意CodaFi,放一个断点看_smartphoneButton的价值。
但即使viewWillAppear将工作,我会建议将您的代码移动到viewDidLoad由于以下原因。
viewWillAppear可以在ViewController的实时中调用几次,并且你将会修改你的按钮的位置而无需任何操作。

+0

这会如何让它更好? ViewDidA至少会出现一个视图(ergo,一个重绘)。此外,UIKit的渲染机制不仅仅是在框架设置完成后不重绘按钮,它们比这更聪明。 – CodaFi

+0

@CodaFi你是对的,刚刚测试过,修改正在发生,我一直认为苹果是遵循他们的命名惯例。哪个“做”通常意味着你接电话后。 –