webentwicklung-frage-antwort-db.com.de

Wie füge ich die rechte Schaltfläche in der Navigationsleiste hinzu

Ich habe eine Frage zum Hinzufügen einer rechten Schaltfläche in der Navigationsleiste.

Ich habe zwei Ansichten: Ansicht A und Ansicht B

Ich füge eine Navigationsleiste hinzu, um A anzuzeigen, nachdem ich self.navigationController!.pushViewController verwendet habe, um Ansicht B anzuzeigen.

Dass eine Schaltfläche "Zurück" in der linken Navigationsleiste von Ansicht B automatisch angezeigt wird, ist gut. aber jetzt möchte ich eine Schaltfläche in der rechten Navigationsleiste von Ansicht B hinzufügen. Ich habe ein paar Antworten ausprobiert, aber es funktioniert nicht .... Ich habe Antworten versucht, wie:. 1 ) https://www.hackingwithswift.com/example-code/uikit/how-to-add-a-bar-button-to-a-navigation-bar 2) http://blog.apoorvmote.com/add-multiple-bar-button-itemnavigation-bar/?lang=fr

Könnten Sie mir helfen, danke!

8
user2262304

Die schnelle Version von Vahan Babayans Antwort, wie Sie diese Sprache zu verwenden scheinen, lautet:

let rightButtonItem = UIBarButtonItem.init(
      title: "Title", 
      style: .Done, 
      target: self, 
      action: "rightButtonAction:"
)

self.navigationItem.rightBarButtonItem = rightButtonItem

Die folgende Methode wird bei self aufgerufen:

func rightButtonAction(sender: UIBarButtonItem)

Beachten Sie, dass dies alles - grafisch über ein Storyboard festgelegt werden kann , indem Sie ein Bar-Schaltflächenelement auf Ihr Navigationselement ziehen und mit der rechten Maustaste darauf klicken, um eine Zielaktion festzulegen.


Ein kleines Update seit dem Start von Swift 3 und 4: Der Compiler kann jetzt die Namen der Selektoren überprüfen und Tippfehler beim programmgesteuerten Einrichten von target-action verhindern. Also sollte man wirklich verwenden:

let rightButtonItem = UIBarButtonItem.init(
      title: "Title", 
      style: .Done, 
      target: self, 
      action: #selector(rightButtonAction(sender:))
)
27
Jean-Baptiste

Sie können der viewDidLoad-Methode Ihres B-Controllers den folgenden Code hinzufügen.

UIBarButtonItem *rightButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Title" 
                                                                    style:UIBarButtonItemStyleDone 
                                                                    target:self 
                                                                    action:@selector(rightButtonAction:)];
self.navigationItem.rightBarButtonItem = rightButtonItem;
4
Vahan Babayan
- (void)viewDidLoad {

    [super viewDidLoad];
    UIBarButtonItem *rightBtn = [[UIBarButtonItem alloc]initWithTitle:@"Right Button" style:UIBarButtonItemStyleDone target:self action:@selector(rightBtnClick)];
    self.navigationItem.rightBarButtonItem = rightBtn;
}

-(void)rightBtnClick{
    // code for right Button

}
2
Vasanthan Prem

Schneller Code zum Hinzufügen eines Navigationselementes:

Methode 1 (Wenn Sie ein Bar-Button-Systemelement verwenden möchten)

navigationItem.leftBarButtonItem = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(addTapped))

Methode 2 (Wenn Sie der Schaltfläche einen eigenen Titel geben möchten)

navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Add", style: .plain, target: self, action: #selector(addTapped))

Ab iOS 5 können Sie auf jeder Seite der Navigationsleiste mehr als eine Schaltfläche hinzufügen. Etwas wie das:

let add = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(addTapped))
let display = UIBarButtonItem(title: "Display", style: .plain, target: self, action: #selector(playTapped))

navigationItem.rightBarButtonItems = [add, display]
0
iPhoneDeveloper

Fügen Sie den folgenden Code in der viewDidLoad-Methode hinzu

UIBarButtonItem *flipButton = [[UIBarButtonItem alloc] 
                               initWithTitle:@"Flip"                                            
                               style:UIBarButtonItemStyleBordered 
                               target:self 
                               action:@selector(flipView:)];
self.navigationItem.rightBarButtonItem = flipButton;

Dadurch wird auf der rechten Seite eine Schaltfläche mit dem Titel Flip hinzugefügt, die die Methode aufruft:

-(IBAction)flipView
0
Paras vora