如何以编程方式添加UIBarButtonItem?
以编程方式添加UIBarButtonItem的正确方法是什么? 在我的情况下,我正在尝试将一个添加到rightBarButtonItem
,我一直在控制器层次结构中跳跃,但我似乎无法让按钮显示在任何地方。
这是我目前的代码:
- (void)viewDidLoad { [super viewDidLoad]; [self.navigationItem setRightBarButtonItem:[[[UIBarButtonItem alloc] initWithImage:[[UIImage alloc] initWithContentsOfFile:@"Barcode-White.png"] style:UIBarButtonItemStylePlain target:self action:@selector(scanEquipment:)] autorelease]]; }
我希望有人能引导我走向正确的方向。 我试图调用它的控制器是3级。所以, UITabBarController
– > UIViewController (Settings, 1st level)
– > UIViewController (Vehicle, 2nd level)
– > UIViewController (Inventory, 3rd level)
。
无论如何,提前感谢任何帮助!
[[UIImage alloc] initWithContentsOfFile:@"Barcode-White.png"]
可能无法正常工作。 initWithContentsOfFile获取图像文件的完整路径,而不仅仅是文件名。 这可能是问题所在; 它返回nil,这导致整个按钮构造函数返回nil。
(另外,您通过调用init方法而不释放或自动释放来泄漏此图像。)
尝试使用[UIImage imageNamed:@"Barcode-White"]
,它在应用程序的资源中查找图像文件,并且还有一个额外的好处,即只加载图像一次,然后将其缓存在内存中,无论它被调用多少次:
除此之外,它看起来应该工作……
此外,导航栏项目的样式始终为UIBarButtonItemStyleBordered
。 尝试将其设置为UIBarButtonItemStylePlain
将被系统忽略。 (但不应该是它不起作用的原因。)
- 如何使UINavigationBar不下推视图?
- 获取Kontakt iBeacon的属性
- 如何确定一个NSNumber的真正的数据types?
- 正确pipe理addObserverForName:object:queue:usingBlock:
- iOS生物识别本地身份验证
- 如何在UINavigationBar标题上设置字距(字符间距) – Swift或Objective-C
- 在iPhone上的MapKit上find两个点之间的path/路线
- swift:如何从swift类调用overrided的Objective-C类的init方法?
- NSURLConnection – 禁用身份validation质询响应机制