Zaprojektowałem widok z paska narzędzi, który pojawia się modalnie w Konstruktorze interfejsu. Mam element UIBarButtonItem po lewej stronie, który chciałbym umieścić po prawej stronie paska narzędzi. Jak mogę to zrobić w IB lub za pomocą kodu?Jak umieścić UIBarButtonItem po prawej stronie paska UIToolbar?
26
A
Odpowiedz
57
Oto jak to zrobić w kodzie, jeśli ktoś napotka tego postu:
UIBarButtonItem *leftButton = [[[UIBarButtonItem alloc] initWithTitle:@"Item" style:UIBarButtonItemStyleBordered target:self action:@selector(btnItem1Pressed:)] autorelease];
UIBarButtonItem *flex = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil] autorelease];
UIBarButtonItem *rightButton = [[[UIBarButtonItem alloc] initWithTitle:@"Item" style:UIBarButtonItemStyleBordered target:self action:@selector(btnItem2Pressed:)] autorelease];
self.toolbarItems = [NSArray arrayWithObjects: leftButton, flex, rightButton, nil];
29
Wstaw element, którego identyfikatorem jest "przestrzeń elastyczna".
-1
Jeśli można uciec z tego nie będąc UIBarButtonItem (na przykład, przycisk INFO), co mogę zrobić, to zmienić warstwę przycisk, aby zawsze być z przodu na pasku narzędzi. W ten sposób, gdy przeciągnę przycisk nad paskiem narzędzi w IB, nie będzie on automatycznie wysysał go na lewą stronę.
8
Kod Swift:
func addDoneButton() -> UIToolbar {
let toolbar = UIToolbar()
let flexButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.FlexibleSpace, target: nil, action: nil)
let doneButton = UIBarButtonItem(title: "Done", style: .Plain, target: self, action: Selector("donePressed"))
toolbar.setItems([flexButton, doneButton], animated: true)
toolbar.sizeToFit()
return toolbar
}
27
- jeden element w prawo jak ten
UIBarButtonItem *flexible = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
UIBarButtonItem *item1 = [[UIBarButtonItem alloc] initWithTitle:@"item1” style:UIBarButtonItemStylePlain target:self action:nil];
self.toolbarItems = [NSArray arrayWithObjects: flexible, item1, nil];
-dwa elementy lewo i prawo jak tego
UIBarButtonItem *flexible = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
UIBarButtonItem *item1 = [[UIBarButtonItem alloc] initWithTitle:@"item1” style:UIBarButtonItemStylePlain target:self action:nil];
UIBarButtonItem *item2 = [[UIBarButtonItem alloc] initWithTitle:@"item2” style:UIBarButtonItemStylePlain target:self action:nil];
self.toolbarItems = [NSArray arrayWithObjects: item1, flexible, item2, nil];
-Trzy przedmiotów, takich jak ten
UIBarButtonItem *flexible = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
UIBarButtonItem *item1 = [[UIBarButtonItem alloc] initWithTitle:@"item1” style:UIBarButtonItemStylePlain target:self action:nil];
UIBarButtonItem *item2 = [[UIBarButtonItem alloc] initWithTitle:@"item2” style:UIBarButtonItemStylePlain target:self action:nil];
UIBarButtonItem *item3 = [[UIBarButtonItem alloc] initWithTitle:@"item3” style:UIBarButtonItemStylePlain target:self action:nil];
self.toolbarItems = [NSArray arrayWithObjects: item1, flexible, item2, flexible, item3, nil];
Four przedmioty, takie jak ten
UIBarButtonItem *flexible = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
UIBarButtonItem *item1 = [[UIBarButtonItem alloc] initWithTitle:@"item1” style:UIBarButtonItemStylePlain target:self action:nil];
UIBarButtonItem *item2 = [[UIBarButtonItem alloc] initWithTitle:@"item2” style:UIBarButtonItemStylePlain target:self action:nil];
UIBarButtonItem *item3 = [[UIBarButtonItem alloc] initWithTitle:@"item3” style:UIBarButtonItemStylePlain target:self action:nil];
UIBarButtonItem *item4 = [[UIBarButtonItem alloc] initWithTitle:@"item4” style:UIBarButtonItemStylePlain target:self action:nil];
self.toolbarItems = [NSArray arrayWithObjects: item1, flexible, item2, item3, flexible, item4, nil];
więc jeśli chcesz dodać spację należy dodać elastycznego przycisku bar.
0
Swift 3.x lub powyżej:
internal var textFieldHandlerToolBar: UIToolbar = {
let tb = UIToolbar.init(frame: CGRect.init(origin: .zero, size: CGSize.init(width: UIScreen.screenSize().width, height: 44.0)))
let flexibleButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.flexibleSpace, target: nil, action: nil)
let doneBarButton = UIBarButtonItem.init(title: "Done", style: UIBarButtonItemStyle.done, target: self, action: #selector(actionDonePickerSelection))
tb.setItems([flexibleButton, doneBarButton], animated: false)
return tb
}()
wyjściowa:
Powiązane problemy
- 1. Jak dodać przycisk po prawej stronie paska narzędzi?
- 2. Notepad ++ Jak umieścić okno po prawej stronie?
- 3. Jak dodać wiele elementów UIBarButtonItems po prawej stronie paska nawigacyjnego?
- 4. UIToolbar nie wyświetlający UIBarButtonItem
- 5. Jak umieścić obraz po prawej stronie przycisku radiowego, Android
- 6. Jak umieścić div po prawej stronie z absolutną pozycją
- 7. Jak utworzyć powiadomienie \ ikonę paska stanu po prawej stronie?
- 8. Zmiana koloru cienia UIToolbar dla UIBarButtonItem
- 9. Dodawanie paska UIToolbar z dwoma elementami UIBarButtonItem do paska UINavigationBar: słaby pasek UIToolbar, a co z iPhone 4
- 10. Jak dodać UIBarButtonItem w UIToolBar w kodzie
- 11. Jak przypiąć elementy po prawej stronie?
- 12. Jak naprawić wartość po prawej stronie modeliny?
- 13. Jak dodać kilka elementów UIBarButtonItem do paska nawigacyjnego?
- 14. Jak ustawić elementy menu po lewej stronie paska akcji?
- 15. Pozycja UIBarButtonItem na krawędzi UINavigationBar
- 16. Nawigacja po prawej stronie ze stałą pozycją?
- 17. Etykieta Highcharts zawsze po prawej stronie kursora
- 18. Etykiety AutoLayout odcięte po prawej stronie ekranu
- 19. UIToolBar - wyłącz przyciski
- 20. etykieta osi y macplotlib po prawej stronie
- 21. Wyrównanie po prawej stronie bez pływaka
- 22. Filtrowanie wartości po prawej stronie podziału skalazu
- 23. WebView pokazując biały pasek po prawej stronie
- 24. UIToolBar jest przezroczysty
- 25. Jak uczynić tło UIToolbar przezroczystym?
- 26. Jak wyrównać ikonę po lewej stronie paska aplikacji w Androidzie
- 27. Grube obramowanie po prawej i po lewej stronie
- 28. Szuflada nawigacji Material Design Lite (MDL) po prawej stronie
- 29. Jak przenieść wyszukiwanie SearchView Ikona po prawej stronie?
- 30. Jak mogę usunąć szarą ramkę UILabel po prawej stronie?
Brzmi to lepszym rozwiązaniem niż moje! – bpapa
Działa jak urok! Świetne rozwiązanie. –
Po wykonaniu tej czynności przycisk nie pojawia się na ekranie. –