Hinzufügen mehreren UIButtons zu einem UIView
-
21-08-2019 - |
Frage
Ich habe ein paar Tasten zu einem UIView (via addSubview) programmatisch hinzugefügt. Allerdings scheinen sie als Overlays (so, dass ich immer die letzte Taste nur sehen). Wie kann ich unter vorhandenen Tasten neue Schaltflächen hinzufügen?
Viele Grüße
Lösung
können Sie die Taste wie dieser Versatz
int newX = previousButton.frame.origin.x + previousButton.frame.size.width ;
int newY = previousButton.frame.origin.y ;
und entweder setzen den Rahmen für neue Schaltfläche, wenn Sie es schaffen:
[[UIButton alloc] initWithFrame:CGRectMake(newX,newY,100,100)];
oder den Rahmen später eingestellt
newButton.frame = CGRectMake(newX,newY,100,100);
Andere Tipps
den Rahmen Ursprung des UIView Stellen Sie die UIButtons an den Standorten Layout Sie möchten:
CGRect buttonFrame = button.frame;
buttonFrame.origin = CGPointMake(100.0f, 100.0f);
button.frame = buttonFrame;
view.addSubview(button);
Sie können entweder die insertSubview: atIndex Methode oder insertSubview. BelowSubview Ihrer Ansicht
UIButton *myButton = [[UIButton alloc] initWithFrame:CGRectMake(0,0,100,100)];
[myView insertSubview:myButton belowSubview:previousButton];
oder
[myView insertSubview:myButton atIndex:0];
Vielen Dank für Ihre Antworten Jungs.
Ich habe die (horizontal) ausgerichtet mit diesem Code:
if([myContainer.subviews lastObject] == nil){
NSLog(@"NIL");
[myContainer insertSubview:roundedButton atIndex:0];
}else{
[myContainer insertSubview:roundedButton belowSubview:[tagsContainer.subviews lastObject]];
}
Es funktioniert technisch, sondern überlagert noch die Tasten. Ich habe einen Weg finden, wie man sie nicht überlagert ...