iOS - 如何相对于另一个添加一个 UIButton?
Posted
技术标签:
【中文标题】iOS - 如何相对于另一个添加一个 UIButton?【英文标题】:iOS - how to add one UIButton with respect to another? 【发布时间】:2012-02-01 20:42:42 【问题描述】:我是 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];
【问题讨论】:
【参考方案1】:只需根据第一帧计算第二帧
CGRect secondFrame = CGRectMake(CGRectGetMinX(frame),
CGRectGetMaxY(frame) + 8.0, // some y padding
CGRectGetWidth(frame),
CGRectGetHeight(frame));
【讨论】:
你正在重叠第一个按钮。【参考方案2】:你并不是说你是否需要第二个自己居中 - 我假设你只想要它在下面,与第一个左对齐:
UIButton *outboxButton = [[[UIButton alloc] initWithFrame:CGRectMake(frame.x,
frame.y + dy + 10.0f,
frame.width,
frame.height)] autorelease];
[theView addSubview:outboxButton];
我在这里所做的只是重用第一个按钮的水平坐标。对于垂直坐标,我使用原始坐标并为其添加高度和偏移量(10.0f)。宽度和高度都取自第一个按钮,假设它们的大小应该匹配。
正如您将看到的,没有办法隐式地完成此计算,我假设您实际上想找出这一点 - 也就是说,只需提供一些排序参数。
【讨论】:
以上是关于iOS - 如何相对于另一个添加一个 UIButton?的主要内容,如果未能解决你的问题,请参考以下文章