Jak programowo dodać przycisk do UINavigationBar?
ios
iphone
xcode
interface-builder
uinavigationbar
RexOnRoids
źródło
źródło
[rightbutton release]
pod ARC (którego nie było w momencie, gdy ten komentarz był pierwotnie pisany).Powyższe odpowiedzi są dobre, ale chciałbym je rozwinąć kilkoma dodatkowymi wskazówkami:
Jeśli chcesz zmodyfikować tytuł przycisku wstecz (strzałka-y patrząc po lewej stronie paska nawigacji), MUSISZ zrobić to w kontrolerze widoku POPRZEDNI, a nie w tym, dla którego będzie wyświetlany. To tak, jakby powiedzieć „hej, jeśli kiedykolwiek wrzucisz inny kontroler widoku na ten, wywołaj przycisk Wstecz„ Wstecz ”(lub cokolwiek innego) zamiast domyślnego”.
Jeśli chcesz ukryć przycisk Wstecz w specjalnym stanie, na przykład podczas wyświetlania UIPickerView, użyj
self.navigationItem.hidesBackButton = YES;
i pamiętaj, aby ustawić go z powrotem po opuszczeniu specjalnego stanu.Jeśli chcesz wyświetlić jeden ze specjalnych przycisków symbolicznych, użyj formularza
initWithBarButtonSystemItem:target:action
z wartością taką jakUIBarButtonSystemItemAdd
Pamiętaj, znaczenie tego symbolu zależy od Ciebie, ale uważaj na Wytyczne dotyczące interfejsu ludzkiego. Użycie UIBarButtonSystemItemAdd oznacza, że usunięcie elementu prawdopodobnie spowoduje odrzucenie aplikacji.
źródło
Dodanie przycisku niestandardowego do paska nawigacji (z obrazem dla buttonItem i określeniem metody akcji (void) openView {} i).
źródło
Poniższy przykład wyświetli przycisk z tytułem „Kontakt” na pasku nawigacji po prawej stronie. Jego akcja wywołuje metodę o nazwie „contact” z kontrolera widoku. Bez tej linii prawy przycisk nie jest widoczny.
źródło
W Swift 2 zrobiłbyś:
(Nie jest to duża zmiana) W Swift 4/5 będzie to:
źródło
Dlaczego nie użyć następujących: (z Rysuj niestandardowy przycisk Wstecz na pasku nawigacyjnym iPhone'a )
źródło
szybki 3
źródło