2016-05-21 19 views
0

Ich versuche, diesen Code für die NavigationsleisteTaste zeigt nicht in der Navigationsleiste

UINavigationBar *navbar = [[UINavigationBar alloc]initWithFrame:CGRectMake(0, 0,320, 70)]; 

und für die Schaltfläche habe ich versucht, diesen Code

UIBarButtonItem *add=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(SaveButtonClicked:)]; 
self.navigationItem.rightBarButtonItem=add; 

nach diesem Code i auch SaveButtonClicked Methode deklarieren.

Wenn ich diesen Code versuche, gibt es keinen Fehler in diesem Code und kompiliert erfolgreich, aber die Schaltfläche wird nicht in der Navigationsleiste angezeigt.

Helfen Sie mir mit richtigen Code und Anregungen.

+0

beziehen Wo hinzufügen Sie die navbar zu die Ansichtshierarchie? Normalerweise ist das ein Teil eines UINavigationViewControllers. – picciano

+0

Sie müssen mehr Code zur Verfügung stellen, wie wird diese 'navbar' verwendet –

Antwort

0

Nachdem Sie Navigationsleiste erstellt haben

UINavigationBar *navbar = [[UINavigationBar alloc]initWithFrame:CGRectMake(0, 0,320, 70)]; 

Dann brauchen Sie Navigationspunkt erstellen. und Navigationselement zur Navigationsleiste hinzufügen

UINavigationItem *item = [[UINavigationItem alloc]init]; 
UIBarButtonItem *add=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(SaveButtonClicked:)]; 
item.rightBarButtonItem=add; 
navbar.items = [NSArray arrayWithObjects:item, nil]; 
[self.view addSubview:navbar]; 

Hoffe, dass dies hilft!

+0

@surabh goyal ... Ich habe versucht, Ihren Code und das funktioniert aber in der Navigationsleiste zu einem Zeitpunkt nur ein Element angezeigt wird wie Schaltfläche angezeigt wird, dann ist der Titel nicht Anzeige und wenn der Titel angezeigt wird, wird die Schaltfläche nicht angezeigt. Bitte helfen Sie mir bei diesem Problem. –

+0

Lassen Sie mich, wie Sie beide hinzufügen, aber nur durch Hinzufügen von Titel in Element in der obigen Code sollte tun. item.title = @ "Titel"; –

+0

Thnks saurabh ... Ich füge deinen title code hinzu und ich habe beides im Display .. Ich füge Titel mit diesem Code hinzu das funktioniert nicht, aber Ihr Code funktioniert für mich. –

0

1) Sie müssen keine UINavigationBar erstellen. Der Navigationscontroller, in dem Sie sich befinden, bietet das.

2) Und wenn Sie dachten, dass Sie einen benötigen, bedeutet dies wahrscheinlich, dass Ihre Ansicht nicht in einem Navigationscontroller überhaupt ist. Überprüfen Sie, was der Wert self.navigationItem ist. Ich kann mir vorstellen, dass du es für nichtig halten wirst. Das bedeutet, dass Sie Ihre Schnittstelle neu erstellen müssen, damit diese Ansicht tatsächlich in einem Navigationscontroller vorhanden ist. "Einbinden in Navigation Controller" unter "Editor" im Interface Builder kann dort hilfreich sein.

0

Sie können nur diese einzelne Zeile verwenden, um diese zu erreichen:

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]initWithTitle:@"Save" style:UIBarButtonItemStylePlain target:self action:@selector(saveButtonClicked:)]; 

danach diese Methode hinzufügen

-(void)saveButtonClicked:(UIBarButtonItem *)sender{ 

} 

für mehr Sie Add button to navigationbar programmatically

+0

Meine Schaltfläche wird in der Navigationsleiste angezeigt, aber wenn die Schaltfläche angezeigt wird, wird der Titel nicht angezeigt und wenn der Titel angezeigt wird, wird die Schaltfläche nicht angezeigt. –

+0

@MananChoksi: wo Sie diese Zeile hinzufügen ... self.navigationItem.rightbarButtonItem = ------ –

Verwandte Themen