Добавление нескольких UIB-кнопок в UIView - PullRequest
1 голос
/ 29 июня 2009

Я добавил несколько кнопок в UIView (через addSubview) программно. Однако они отображаются как наложения (так что я всегда вижу только последнюю кнопку). Как добавить новые кнопки под существующими кнопками?

Привет

Ответы [ 4 ]

4 голосов
/ 29 июня 2009

Вы можете сместить кнопку, как это

int newX = previousButton.frame.origin.x + previousButton.frame.size.width ;
int newY = previousButton.frame.origin.y ;

и либо установите рамку для новой кнопки при ее создании:

[[UIButton alloc] initWithFrame:CGRectMake(newX,newY,100,100)];

или установить кадр позже

newButton.frame = CGRectMake(newX,newY,100,100);
3 голосов
/ 29 июня 2009

Установите источник кадра UIView, чтобы расположить кнопки UIB в нужных вам местах:

CGRect buttonFrame = button.frame;
buttonFrame.origin = CGPointMake(100.0f, 100.0f);
button.frame = buttonFrame;
view.addSubview(button);
2 голосов
/ 29 июня 2009

Вы можете использовать метод insertSubview: atIndex или insertSubview: underSubview вашего представления.

UIButton *myButton = [[UIButton alloc] initWithFrame:CGRectMake(0,0,100,100)];

[myView insertSubview:myButton belowSubview:previousButton];

OR

[myView insertSubview:myButton atIndex:0];
0 голосов
/ 29 июня 2009

Спасибо за ваши ответы, ребята.

Я сделал (горизонтальный) выравнивание с этим кодом:

if([myContainer.subviews lastObject] == nil){
        NSLog(@"NIL");
        [myContainer insertSubview:roundedButton atIndex:0];
    }else{
        [myContainer insertSubview:roundedButton belowSubview:[tagsContainer.subviews lastObject]];
    }

Это работает технически, но все еще накладывает кнопки. Я должен найти способ, как не наложить их ...

...