And*_*rew 2 iphone objective-c
很多时候,我想要将一个物体移动2点,所以我会说:
CGRectMake(currentobject.frame.origin.x+2, currentObject.frame.origin.y, currentObject.frame.size.width, currentObject.frame.size.height);
Run Code Online (Sandbox Code Playgroud)
有没有更快的方法,我可以改变1件事,或者我可以快速参考当前值?
Jer*_*man 10
你应该使用CGRectOffset():
NSAssert(currentObject, @"%s: Must have |currentObject|.", __func__);
CGRect offsetFrame = CGRectOffset([currentObject frame], 2/*dx*/, 0/*dy*/);
[currentObject setFrame:offsetFrame];
Run Code Online (Sandbox Code Playgroud)
请注意断言:具有struct返回值的方法是发送消息的少数情况之一,nil可以返回垃圾而不是等效于零(0,0.0 nil,... Nil,&c.).
相当于CGRectOffset()增长或缩小框架(改变尺寸)是CGRectInset().
使用CGRectOffset()时的另一种选择UIView是取代视图的中心:
view.center.x += 2;
Run Code Online (Sandbox Code Playgroud)
这会相应地更新帧.
| 归档时间: |
|
| 查看次数: |
2582 次 |
| 最近记录: |