Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.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
Ios [UIBarItem setTitle:]:发送到实例的选择器无法识别_Ios_Objective C_Runtime Error_Uitoolbar_Unrecognized Selector - Fatal编程技术网

Ios [UIBarItem setTitle:]:发送到实例的选择器无法识别

Ios [UIBarItem setTitle:]:发送到实例的选择器无法识别,ios,objective-c,runtime-error,uitoolbar,unrecognized-selector,Ios,Objective C,Runtime Error,Uitoolbar,Unrecognized Selector,我试图为UIToolBar提供一个标题,但当我尝试添加一个带有标题属性的UIBarItem时,会出现此错误。我的代码: UIBarItem *title = [[UIBarItem alloc] init]; title.title = @"My Title"; [toolBar setItems:@[cancel, title, ok]]; 我已经检查了UIBarItem的官方文档,它确实有一个完全有效的“title”属性。我做错了什么?我认为您应该使用initWithTabBarSyst

我试图为UIToolBar提供一个标题,但当我尝试添加一个带有标题属性的UIBarItem时,会出现此错误。我的代码:

UIBarItem *title = [[UIBarItem alloc] init];
title.title = @"My Title";

[toolBar setItems:@[cancel, title, ok]];

我已经检查了UIBarItem的官方文档,它确实有一个完全有效的“title”属性。我做错了什么?

我认为您应该使用
initWithTabBarSystemItem:tag:
initWithTitle:image:tag:
来初始化UIBarItem。

我也遇到了同样的错误,尝试将对象设置为按钮而不是项目。这个代码对我很有效

UIBarButtonItem *title = [[UIBarButtonItem alloc] init];
[title setTitle:@"My Title"];
如果您试图为工具栏指定标题,请使用该标题制作UILabel并将其添加为子视图。

来自:

头衔

项目上显示的标题

@property(nonatomic, copy) NSString *title
讨论:在将项目添加到项目之前,应设置此属性 酒吧。默认值为零

可用性:在iOS 2.0及更高版本中可用


所以这个标题确实可以设定。您确定显示为错误消息一部分的是
UIBarItem
类吗?可能是内存管理问题,如果不是,可能是UIKit中的错误(可能性很小)。

我认为问题在于,
UIBarItem
UIBarButtonItem
uitabaritem
抽象超类

可能该方法只是在头中声明而没有实现,或者抽象实现调用了
-doesNotRecognizeSelector:

UIBarItem
是一个抽象超类,用于添加到显示在屏幕底部的条形图中的项目


对于
-[UIToolbar items]
UINavigationBar
-[UINavigationItem(左|右)barbuttonims],必须使用
uibarbuttonim

我不确定,请尝试将变量名称更改为其他名称。否。对不起,我在看UITabBarItem。UIBarItem被记录为一个抽象超类。没问题,这是一个可以理解的错误:)所以,重申一下-我认为问题在于你试图实例化一个抽象类,而你不应该这样做,虽然我不知道这是否会导致您看到的问题。这两个调用完全相同。我的调用和他的调用的区别在于,他的是
UIBarItem
,我的是
UIBarButtonItem
。我试过了,他的代码不起作用,当我测试我的代码时,它起作用了。但是OP想要一个普通的
UIBarItem
,不是吗?是的,但是看起来你不能为
UIBarItem
设置标题,因为某种原因,它给出了一个错误。这可能是一个bug,但由于某些原因它不起作用。我尝试了点语法和
[title setTitle:
,但两者都不起作用。这个答案并不能解释问题。对于任何使用UINavigationBar进行此尝试的人来说,它确实不喜欢UIBarButtonim(无法识别的选择器)。因此,请尝试使用UINavigationItem。