iOS - 如何相对于另一个添加一个UIButton?

时间:2012-02-01 20:42:42

标签: ios uiview uibutton

我是iOS新手,所以请耐心等待我。我有一个空白页面,其中有一个按钮。我想在视图中添加另一个按钮,就在居中按钮的下方。我该怎么办?我添加了第一个按钮 -

float x=60, y=200, dy=50;
CGRect frame = CGRectMake(x, y, 200, dy);
UIButton *inboxButton = [[[UIButton alloc] initWithFrame:frame]autorelease];
inboxButton.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
inboxButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;

....

[theView addSubview:inboxButton];

2 个答案:

答案 0 :(得分:1)

根据第一个

计算第二帧
CGRect secondFrame = CGRectMake(CGRectGetMinX(frame),
    CGRectGetMaxY(frame) + 8.0, // some y padding
    CGRectGetWidth(frame),
    CGRectGetHeight(frame));

答案 1 :(得分:1)

你不是说你是否需要第二个以自身为中心 - 我假设你只需要它在下面,与第一个左对齐:

UIButton *outboxButton = [[[UIButton alloc] initWithFrame:CGRectMake(frame.x, 
                                                                     frame.y + dy + 10.0f, 
                                                                     frame.width,
                                                                     frame.height)] autorelease];
[theView addSubview:outboxButton];

我在这里做的只是重复使用第一个按钮的水平坐标。对于垂直坐标,我使用原始坐标并添加高度和偏移量(10.0f)。宽度和高度都取自第一个按钮,假设它们的大小应该匹配。

正如您将看到的,没有办法隐式地完成这个计算,我假设您实际上想要找出 - 也就是说,只需提供一些排序参数。