【问题标题】:*modify* UIbutton position (Iphone SDK)*修改* UIbutton 位置(Iphone SDK)
【发布时间】:2011-02-24 19:46:34
【问题描述】:

我正在玩 UIbuttons,只是为了感受一下它们真正可以做什么。到目前为止,我只有一个问题:

如何修改 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);
}

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

我有什么办法可以直接设置senderB.frame.origin.x等的值吗?

【问题讨论】:

    标签: ios iphone uibutton


    【解决方案1】:

    我通常这样做:

    CGRect buttonFrame = button.frame;
    buttonFrame.origin.y += 10;
    button.frame = buttonFrame;
    

    【讨论】:

    • 有趣的做法!应该有帮助:)
    【解决方案2】:

    不。请注意,“someview.frame”按值返回 CGRect,而不是按引用或指针或其他方式。这就是您收到“需要左值”错误的原因。

    但是,像您这样设置框架非常快。

    【讨论】:

      【解决方案3】:

      frame 属性是只读的。你可以做的是复制当前帧

      CGRect btFrame = senderB.frame; 
      btFrame.origin.x += 10;
      senderB.frame = btFrame;
      

      【讨论】:

        猜你喜欢
        • 2012-06-28
        • 2011-01-31
        • 2013-04-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多