我试图给我的UIToolBar一个标题,但是当我尝试添加一个带有title属性的UIBarItem时,我得到了这个错误。我的代码:
UIBarItem *title = [[UIBarItem alloc] init];
title.title = @"My Title";
[toolBar setItems:@[cancel, title, ok]];
我已经检查了UIBarItem的官方文档,它确实具有完全有效的“标题”属性。我在这里做错了什么?
答案 0 :(得分:3)
我认为问题在于,UIBarItem
是UIBarButtonItem
和UITabBarItem
的抽象超类。
也许该方法只是在头文件中声明而未实现,或者抽象实现调用-doesNotRecognizeSelector:
。
UIBarItem
是一个抽象超类,用于添加到屏幕底部显示的栏中的项目。 ...
对于-[UIToolbar items]
或 UINavigationBar
-[UINavigationItem (left|right)BarButtonItems]
,您必须使用UIBarButtonItem
。
答案 1 :(得分:0)
我得到了同样的错误,尝试将对象设为按钮而不仅仅是项目。这段代码对我来说很好
UIBarButtonItem *title = [[UIBarButtonItem alloc] init];
[title setTitle:@"My Title"];
如果您尝试为工具栏添加标题,请使用标题创建UILabel并将其添加为子视图。
答案 2 :(得分:0)
标题
项目上显示的标题。
@property(nonatomic, copy) NSString *title
讨论:您应该在将项目添加到a之前设置此属性 酒吧。默认值为nil。
可用性:适用于iOS 2.0及更高版本。
所以这个标题确实可以设定。你确定它是UIBarItem
类显示为错误消息的一部分吗?可能是内存管理问题,如果没有,可能是UIKit中的错误(非常不可能)。
答案 3 :(得分:-1)
我相信您应该使用initWithTabBarSystemItem:tag:
或initWithTitle:image:tag:
初始化您的UIBarItem。