6

我有一个 UIButtonRoundedRectType 类型的 UIButton,我想将它水平和垂直放在屏幕中间。

我已经尝试通过硬编码数字来做到这一点,但是当在 iPhone 与 iphone(视网膜)上运行时,这会回头看。我想通过计算容器的宽度以编程方式将按钮保持在中心。

所以,我试过这个,但它不起作用。

container = view.frame.size
button = UIButton.buttonWithType(UIButtonTypeRoundedRect)
button.frame = [[container.width/2-button.frame.size.width/2,150], [280,50]]
4

4 回答 4

10

简单的方法:

button.center = view.center;
于 2015-06-24T18:35:55.393 回答
6

怎么样:

button.center = [button.superview convertPoint:button.superview.center fromView:button.superview.superview];
于 2013-04-11T18:21:08.337 回答
2

如果您在 XIB 中使用视图,则可以像我提到的那样使用。

转到 XIB -> 点击查看 -> 点击尺寸检查器 -> 排列(您可以在此处设置位置)。

在此处输入图像描述

Position of Container选择和的所有属性Fill Container

如果您动态创建视图(不在 XIB 中),那么您可以根据 superview 的界限使用。

于 2013-11-06T05:53:13.190 回答
2

你离得并不远。这有效(我试过了):

container = view.frame.size
button = UIButton.buttonWithType(UIButtonTypeRoundedRect)
button_size = [ 280, 50 ]
left_margin = (container.width / 2) - (button_size[0] / 2)
top_margin = (container.height / 2) - (button_size[1] / 2)
button.frame = [[ left_margin, top_margin ], button_size ]
button.autoresizingMask = UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin
于 2013-04-12T05:07:26.467 回答