Вопрос

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

С уважением

Это было полезно?

Решение

вы можете смещать кнопку следующим образом

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);

Другие советы

Установите начало кадра UIView для размещения кнопок UIButtons в нужных вам местах:

CGRect buttonFrame = button.frame;
buttonFrame.origin = CGPointMake(100.0f, 100.0f);
button.frame = buttonFrame;
view.addSubview(button);

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

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

[myView insertSubview:myButton belowSubview:previousButton];

или

[myView insertSubview:myButton atIndex:0];

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

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

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

Технически это работает, но по-прежнему накладывает кнопки друг на друга.Я должен найти способ, как не накладывать их друг на друга...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top