Objective c 如何以编程方式添加UIBarButtonim?
以编程方式添加UIBarButtonim的正确方法是什么?在我的例子中,我试图将一个按钮添加到Objective c 如何以编程方式添加UIBarButtonim?,objective-c,ios,uinavigationitem,Objective C,Ios,Uinavigationitem,以编程方式添加UIBarButtonim的正确方法是什么?在我的例子中,我试图将一个按钮添加到RightBarButtonim中,我一直在控制器层次结构中跳跃,但我似乎无法让按钮显示在任何地方 以下是我当前的代码: - (void)viewDidLoad { [super viewDidLoad]; [self.navigationItem setRightBarButtonItem:[[[UIBarButtonItem alloc] initWithImage:[[UIIma
RightBarButtonim
中,我一直在控制器层次结构中跳跃,但我似乎无法让按钮显示在任何地方
以下是我当前的代码:
- (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个级别。因此,UIABBARCONTROLLER
->UIViewController(设置,第一级)
->UIViewController(车辆,第二级)
->UIViewController(库存,第三级)
无论如何,提前谢谢你的帮助
[[UIImage alloc]initWithContentsOfFile:@“Barcode White.png”]
可能不起作用。initWithContentsOfFile获取图像文件的完整路径,而不仅仅是文件名。这可能就是问题所在;它返回nil,这导致整个按钮构造函数返回nil
(另外,在没有发布或自动释放的情况下调用init方法会泄漏此映像。)
请尝试使用[UIImage imageNamed:@“Barcode White”]
,它可以在应用程序的资源中查找图像文件,并且具有只加载图像一次,然后在内存中缓存图像的附加功能,无论调用多少次:
:
除此之外,它看起来应该是有效的
此外,导航栏项目的样式始终为
uibarbuttonimstyle-bordered
。尝试将其设置为uibarbuttonimstyleplain
将被系统忽略。(但这不应该是它不起作用的原因。)你很棒,我爱你。我从来没有想到是映像导致它失败,我以为我没有使用正确的控制器层次结构。无论如何,谢谢你的帮助,它现在起作用了,我学到了一些东西。:)