Ios [UIBarItem setTitle:]:发送到实例的选择器无法识别
我试图为UIToolBar提供一个标题,但当我尝试添加一个带有标题属性的UIBarItem时,会出现此错误。我的代码: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
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。