有没有更简洁的方法来编辑UIView框架的4个CGRect值中的1个?

kor*_*ben 9 cocoa-touch objective-c ios

通常当我想将标签移动到右侧20px,或仅增加视图的宽度时,我会通过以下一个途径

label.frame = CGRectMake(label.frame.origin.x+20, label.frame.origin.y, label.frame.size.width, label.frame.size.height);
Run Code Online (Sandbox Code Playgroud)

要么

CGRect viewFrame = view.frame;
viewFrame.x += 20;
view.frame = viewFrame;
Run Code Online (Sandbox Code Playgroud)

我并不特别喜欢变化中的代码量,并且希望你们知道我没有发现的捷径

Col*_*inE 17

向右移动的更好方法是CGRectOffset宏:

label.frame = CGRectOffset(label.frame, 20.0f, 0.0f);
Run Code Online (Sandbox Code Playgroud)

我发现这更清楚地表达了我的代码的意图.