*修改*UI按钮位置(Iphone SDK)

Geo*_*sen 7 iphone uibutton ios

我正在玩UI按钮,只是为了了解可以用它们做些什么.到目前为止我只有一个问题:

如何修改 UIButton的位置?

- (IBAction)buttonClicked:(id)sender
{
   UIButton *senderB = sender;

   CGPoint position = senderB.frame.origin;
   CGSize size = senderB.frame.size;
   senderB.frame = CGRectMake(position.x,position.y + 10,size.width,size.height);
}
Run Code Online (Sandbox Code Playgroud)

上面的工作很好,但是,每次我想简单地改变一个时创建一个新的CGrect对我来说似乎相当低效.

有没有办法让我直接设置senderB.frame.origin.x等的值?

Sim*_*een 13

我通常这样做:

CGRect buttonFrame = button.frame;
buttonFrame.origin.y += 10;
button.frame = buttonFrame;
Run Code Online (Sandbox Code Playgroud)


Col*_*lin 5

不.请注意,'someview.frame'按值返回CGRect,而不是通过引用或指针等返回.这就是为什么你得到'Lvalue required'错误.

但是,设置框架就像你正在做的那样快得多.