调整UIViews的大小

时间:2009-08-17 19:43:49

标签: iphone cocoa-touch

如果我需要调整大小或重新定位UIView,有没有比下面更好的方法呢?

view.frame = CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, view.frame.size.height - 100);

或者换句话说,有没有办法通过非readonly属性说view.frame.size.height - = 100?

3 个答案:

答案 0 :(得分:25)

如果您想要-=100效果,请执行以下操作:

CGRect frame = view.frame;
frame.size.height -= 100;
view.frame = frame;

然后你可以确定你正在改变你想要改变的东西......

除此之外,我认为没有办法......

答案 1 :(得分:10)

没有可以直接操纵高度的属性。

请注意,每次调用view.frame时,它都会调用该方法,因此您的代码与以下内容完全相同:

view.frame = CGRectMake([view frame].origin.x, [view frame].origin.y, [view frame].size.width, [view frame].size.height - 100);

考虑在单独的变量中调整帧:

CGRect frame = view.frame;
frame.size.height -= 100;
view.frame = frame;

答案 2 :(得分:3)

使用此UIView+position类别可以方便地访问框架成员:

http://bynomial.com/blog/?p=24