Добавление нескольких UIButtons в UIView
-
21-08-2019 - |
Вопрос
Я добавил несколько кнопок в 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]];
}
Технически это работает, но по-прежнему накладывает кнопки друг на друга.Я должен найти способ, как не накладывать их друг на друга...