如果我需要调整或重新定位一个UIView,有没有比下面更好的方法?
view.frame = CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, view.frame.size.height - 100);
或者换句话说,是否有一种方法通过非只读属性来简单地减少view.frame.size.height的值100?如果我需要调整或重新定位一个UIView,有没有比下面更好的方法?
view.frame = CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, view.frame.size.height - 100);
或者换句话说,是否有一种方法通过非只读属性来简单地减少view.frame.size.height的值100?如果你想要实现-=100
的效果,只需要这样做:
CGRect frame = view.frame;
frame.size.height -= 100;
view.frame = frame;
那么你就可以确定你正在改变确切的内容。
除此之外,我认为没有其他方法了。
没有直接操作高度的属性。
请注意,每次调用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;