2013-01-15 16 views
20

Ich habe eine Navigationsleiste mit einer linken und rechten Taste, und ich muss eine andere Taste neben der rechten Taste setzen. Weiß jemand, wie ich das machen kann? Hier ist ein Code zu helfen:Navigationsleiste mit mehreren Tasten

- (id)init { 
    self = [super initWithStyle:UITableViewStyleGrouped]; 
    if (self) { 

     _pinArray = [[NSArray alloc]init]; 
     _pinArray = [Data singleton].annotations; 

     UIBarButtonItem *right = [[UIBarButtonItem alloc]initWithTitle:@"Map" 
                   style:UIBarButtonItemStylePlain 
                  target:self 
                  action:@selector(goToMap:)]; 
     self.navigationItem.rightBarButtonItem = right; 

     UIBarButtonItem *left = [[UIBarButtonItem alloc]initWithTitle:@"Menu" 
                  style:UIBarButtonItemStylePlain 
                  target:self 
                  action:@selector(goToMenu:)]; 
     self.navigationItem.leftBarButtonItem = left; 
     self.navigationItem.title = @"My Homes"; 
    } 
    return self; 
} 

Antwort

44

Es ist ganz einfach :)

https://developer.apple.com/documentation/uikit/uinavigationitem/1624956-rightbarbuttonitems

navigationItem.rightBarButtonItems = [rightA, rightB] // @[rightA, rightB] for ObjC 
+0

Gibt es maximal 2? – thebiglebowski11

+0

Eigentlich gibt es keine max. Sie können so viele hinzufügen, wie Sie möchten, auch zu einem Nachteil lol. Aber wirklich so viele, wie Sie bequem passen können. Denken Sie an Ihre Benutzer! –

+0

Was tun, wenn wir eine von diesen deaktivieren möchten? –

7

Statt self.navigationItem.rightBarButtonItem zu verwenden, verwenden

self.navigationItem.rightBarButtonItems //note the plural 

Auf diese Weise können Sie ein setzen Anordnung von Schaltflächen statt einer einzelnen.

Siehe die UINavigationItem class reference für Details.

0
let RightBarButton = UIButton() 
     RightBarButton.setTitleColor(UIColor.blueColor(), forState: .Normal) 
     RightBarButton.frame = CGRectMake(30,0,30,30) 
     RightBarButton.setImage(UIImage(named: "search-icon.png"), forState: .Normal) 
     RightBarButton.addTarget(self, action: #selector(BaseViewController.OpenQuickLink), forControlEvents: .TouchUpInside) 

     let RightBarButton2 = UIButton() 
     RightBarButton2.setTitleColor(UIColor.blueColor(), forState: .Normal) 
     RightBarButton2.frame = CGRectMake(0,0,30,30) 
     RightBarButton2.setImage(UIImage(named: "share-icon.png"), forState: .Normal) 
     RightBarButton2.addTarget(self, action: #selector(BaseViewController.Opensharelink), forControlEvents: .TouchUpInside) 
     let barButtonItem1 = UIBarButtonItem(customView: RightBarButton2) 

     let barButtonItem = UIBarButtonItem(customView: RightBarButton) 


navigationItem.rightBarButtonItems = [barButtonItem1, barButtonItem2] 
Verwandte Themen