UIButton没有设置中心

时间:2015-02-27 18:36:48

标签: ios objective-c uibutton

我在故事板上手动添加了一个按钮。我希望当屏幕加载时,按此按钮设置其中心,并通过

给出的协调
-(void)viewWillLayoutSubviews{
    NSLog(@"Will Layout");
    CGPoint buttonPoint;
    buttonPoint.y = self.view.frame.size.height - 50;
    buttonPoint.x = self.view.frame.size.width /2;

    [menuButton setCenter:buttonPoint];
}

但没有任何变化,按钮仍停留在我第一次拖动它的位置。 我做错了什么?

1 个答案:

答案 0 :(得分:1)

对于现代AutoLayout和旧的基于Springs& Struts的布局管理方法而言,它非常简单。

<强>自动版式

您只需设置两个约束,使按钮保持水平中间和垂直中间减去50个点。 enter image description here

SPRINGS&amp; STRUTS

通过在“尺寸”检查器中正确设置自动调整蒙版,可以确保按钮设置在中心。然后在代码中,在视图控制器的viewDidLoad方法中,您将修复50点偏移。

(有些人可能建议使用viewWillLayoutSubviews,但现在不要让它复杂化。)

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.button.frame = CGRectMake(self.button.frame.origin.x,
                                   self.button.frame.origin.y - 50,
                                   self.button.frame.size.width,
                                   self.button.frame.size.height);

/// other code....
}

enter image description here