Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何以编程方式添加UIBarButtonim?_Objective C_Ios_Uinavigationitem - Fatal编程技术网

Objective c 如何以编程方式添加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

以编程方式添加UIBarButtonim的正确方法是什么?在我的例子中,我试图将一个按钮添加到
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
将被系统忽略。(但这不应该是它不起作用的原因。)

你很棒,我爱你。我从来没有想到是映像导致它失败,我以为我没有使用正确的控制器层次结构。无论如何,谢谢你的帮助,它现在起作用了,我学到了一些东西。:)