一个额外的 BarButtonItem
Posted
技术标签:
【中文标题】一个额外的 BarButtonItem【英文标题】:a additional BarButtonItem 【发布时间】:2013-04-16 15:13:19 【问题描述】:我遇到了一个小问题。我找到了这段代码:
MKUserTrackingBarButtonItem *trackingButton = [[MKUserTrackingBarButtonItem alloc]initWithMapView:self.mapView];
[self.mapToolbar setItems: [NSArray arrayWithObject:trackingButton] animated:YES];
我想在右侧添加一个额外的按钮(左侧是跟踪按钮)。 注意 它是 UIToolbar 而不是导航栏
所以我只是尝试了这个:
MKUserTrackingBarButtonItem *trackingButton = [[MKUserTrackingBarButtonItem alloc]initWithMapView:self.mapView];
UIBarButtonItem* rightButton = [[UIBarButtonItem alloc] initWithTitle:@"Pins" style:UIBarButtonItemStyleBordered target:self action:@selector(rightButton:)];
[self.mapToolbar setItems: [NSArray arrayWithObjects:trackingButton, rightButton, nil] animated:YES];
但它没有任何想法?
编辑 我更新了代码:将按钮添加到 NSArray
【问题讨论】:
您没有将 rightButton 添加到工具栏。 我对按钮的了解非常有限,在某些情况下它们让我感到困惑。如何添加? brianflove.com/2012/10/01/… 【参考方案1】:如果您希望工具栏按钮在工具栏上“右对齐”,您需要在左侧项目和右侧项目之间的数组中添加一个灵活的空间项目。
MKUserTrackingBarButtonItem *trackingButton = [[MKUserTrackingBarButtonItem alloc]initWithMapView:self.mapView];
UIBarButtonItem *flexible = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
UIBarButtonItem* rightButton = [[UIBarButtonItem alloc] initWithTitle:@"Pins" style:UIBarButtonItemStyleBordered target:self action:@selector(rightButton:)];
[self.mapToolbar setItems: [NSArray arrayWithObjects:trackingButton, flexible, rightButton, nil] animated:YES];
【讨论】:
【参考方案2】:试试这个:
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Button" style:UIBarStyleDefault target:self action:@selector(doSomething:)];
【讨论】:
这不是toolbarItem
。我有一个 Toolbar
而不是 navigationbar
以上是关于一个额外的 BarButtonItem的主要内容,如果未能解决你的问题,请参考以下文章