我使用以下代码更改了UIView的位置,而没有更改 View 的大小。

CGRect f = aView.frame;
f.origin.x = 100; // new x
f.origin.y = 200; // new y
aView.frame = f;

是否有更简单的方法来仅更改 View 位置?

最佳答案

aView.center = CGPointMake(150, 150); // set center

或者
aView.frame = CGRectMake( 100, 200, aView.frame.size.width, aView.frame.size.height ); // set new position exactly

或者
aView.frame = CGRectOffset( aView.frame, 10, 10 ); // offset by an amount

编辑:

我还没有编译它,但是它应该可以工作:
#define CGRectSetPos( r, x, y ) CGRectMake( x, y, r.size.width, r.size.height )

aView.frame = CGRectSetPos( aView.frame, 100, 200 );

关于ios - 更改UIView位置的简单方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5161096/

10-11 02:14