Kann jemand eine rightBarButtonItem
eines UINavigationController
verstecken? In meiner Anwendung habe ich eine Bearbeitungsschaltfläche als rightBarButtonItem
von UINavigationController
. Ich möchte das verstecken? UIBarButton ", wenn einige Operationen ausgeführt werden.Hide the rightBarButtonItem eines Navigationscontrollers
Antwort
self.navigationItem.rightBarButtonItem = nil;
versuchen, wenn Sie es zurück wollen, obwohl Sie auf eine Schaltfläche dh
UIBarButtonItem *rightBarButton =
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSearch
target:self
action:@selector(searchBar:)];
self.navigationItem.rightBarButtonItem = rightBarButton;
[rightBarButton release];
Was ist, wenn ich kein Objekt neu erstellen möchte? Zum Beispiel, ich möchte RightBarButton zu einem breiten Rahmen von searchBar auf titleView of navigationBar ausblenden. ich meine, ist Verstecken möglich, indem Eigentum oder etwas geändert wird? –
wenn Sie UINavigationController ableiten möchten. Sie können Folgendes tun: self.topViewController.navigationItem.rightBarButtonItem = rightBarButton; self ist die benutzerdefinierte Klasse UINavigationController –
Zum Ausblenden der rechten Taste muss instanziiert: self.navigationItem.rightBarButtonItem = nil;
Nun, es zu zeigen:
Wenn Sie Setup die rechte Taste in Ihrem View-Controller, indem sie es dann wieder einfach zuweisen, um self.editButtonItem zuweisen, es zu zeigen:
self.navigationItem.rightBarButtonItem = self.editButtonItem;
die rechte Taste in Ihren View-Controller Wenn Sie Setup durch die Zuweisung und Initing eine UIBarButtonItem, dann halten Sie einfach einen Verweis auf die UIBarButtonItem in Ihren View-Controller, und es erneut zuweisen, wenn Sie es zeigen müssen.
Ich habe versucht, rightBarButtonItem zuzuweisen, um in Objective C nicht zu funktionieren, es funktioniert nicht für mich –
Wenn Sie verstecken müssen/zeigen die Taste auf einer Bedingung basiert, versuchen Sie dies:
if (condition) {
self.navigationItem.rightBarButtonItem.title = @"";
self.navigationItem.rightBarButtonItem.enabled = NO;
} else {
self.navigationItem.rightBarButtonItem.title = @"my button title";
self.navigationItem.rightBarButtonItem.enabled = YES;
}
Auf diese Weise müssen Sie nicht einen Verweis auf die Schaltfläche in einer Eigenschaft speichern oder Sorgen über die Verkabelung der Aktion auf eine neue Schaltfläche.
- 1. Initialansicht-Controller eines Navigationscontrollers einstellen
- 2. Show/Hide barButtonItem
- 3. Swift - Instanziieren eines Navigationscontrollers ohne Storyboards in App Delegate
- 4. Rahmen eines Navigationscontrollers, der als untergeordneter Ansichtscontroller hinzugefügt wurde
- 5. versucht, programmgesteuert zu erstellen rightBarButtonItem
- 6. Persistent RightBarButtonItem Eigenschaft von UINavigationItem
- 7. Die Benutzeroberfläche des Navigationscontrollers ausblenden.
- 8. IOS rightBarButtonItem auf UINavigationController in swift
- 9. hide() vs hide ("slow")
- 10. Titel und rightBarButtonItem verschwinden von UINavigationBar
- 11. iOS7 iphone rightBarButtonItem Titel nicht zentriert/richtig angezeigt
- 12. Hide Methode/Klasse mit @Hide in Annotation
- 13. C: Übergeben eines Arrays in eine Funktion 'on the fly'
- 14. on the fly in Abhängigkeit von der Auswahl eines Select
- 15. Backcolor von THE BORDER eines Windows Forms-Bedienfelds
- 16. hide Toast
- 17. Auf Kompilation von The Qlobe
- 18. Wie kann ich innerhalb eines anderen Navigationscontrollers zu einer anderen Ansicht wechseln als im Moment?
- 19. Das Drücken eines Navigationscontrollers wird nicht unterstützt - das Ausführen von Segmenten
- 20. statsmodels ARIMA.fit: Hide Ausgang
- 21. The type of the conditional expression can not be determined?
- 22. Hide Floating Action Button
- 23. openlayers bing hide label
- 24. HIde Header auf Bildlauf
- 25. Getting the HttpActionExecutedContext Ergebniswerte
- 26. Disable the Volume Toast
- 27. On-the-fly Bankkontonummernüberprüfung
- 28. The Ruby% r {} Ausdruck
- 29. The Rails Way - Namespaces
- 30. Alternativen zu The Treeview
'self.navigationItem.rightBarButtonItems [1] setEnabled: NEIN];' wenn Sie ein Array haben, wie wenn Sie flexibles Leerzeichen verwenden. –