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