iOS - как добавить одну UIButton по отношению к другой? - PullRequest
0 голосов
/ 02 февраля 2012

Я новичок в 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 ]

1 голос
/ 02 февраля 2012

Вы не говорите, если вам нужен второй по центру - я предполагаю, что вы просто хотите, чтобы он был ниже, выровнен по левому краю с первым:

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

То, что я делаю здесь, это просто повторное использование горизонтальной координаты от первой кнопки. Для вертикальной координаты я использую исходную координату и добавляю к ней высоту и смещение (10.0f). И ширина, и высота взяты из первой кнопки, при условии, что они должны соответствовать по размеру.

Как вы увидите, нет никакого способа сделать это вычисление неявным образом, что, я полагаю, вы действительно хотели выяснить, то есть просто предоставив некоторые аргументы порядка.

1 голос
/ 02 февраля 2012

Просто рассчитайте второй кадр на основе первого

CGRect secondFrame = CGRectMake(CGRectGetMinX(frame),
    CGRectGetMaxY(frame) + 8.0, // some y padding
    CGRectGetWidth(frame),
    CGRectGetHeight(frame));
...