两种方式改变UIView框架,有什么区别?

时间:2012-03-10 01:48:09

标签: ios cgrect

我尝试用两种方式更改uiview的框架,代码如下:

- 1 -

CGRect f = self.myView.frame;
f.origin.x = 2.0;
f.origin.y = 3.0;
f.size.width = 10.0;
f.size.width = 10.0;
self.myView.frame = f;

- 2 -

self.myView.frame = CGRectMake(2.0, 3.0, 10.0, 10.0);

我在旧的iPod Touch 3中运行了代码。在调试模式下,它们并没有什么不同。在发布模式下,第一个代码块无法正常工作。为什么呢?

顺便说一句,我发现开放项目“MBProgressHUD”也存在同样的问题。

3 个答案:

答案 0 :(得分:0)

您没有在第一个代码中设置CGRect的高度。

答案 1 :(得分:0)

第一行设置宽度twic。它没有设置高度。

答案 2 :(得分:0)

您可以使用以下两种模式更改UIView的框架:

CGRect f = myView.frame;
f.origin.x = 2.0;
f.origin.y = 3.0;
f.size.width = 10.0;
f.size.height = 10.0;
myView.frame = f;

[myView setFrame:CGRectMake(2.0, 3.0, 10.0, 10.0)];