0

我试图给我的 UIToolBar 一个标题,但是当我尝试添加一个带有标题属性的 UIBarItem 时,我收到了这个错误。我的代码:

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

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

我检查了 UIBarItem 的官方文档,它确实有一个完全有效的“标题”属性。我在这里做错了什么?

4

4 回答 4

3

我认为问题在于,那UIBarItem是 and 的抽象类。UIBarButtonItemUITabBarItem

也许该方法只是在标头中声明而未实现或抽象实现调用-doesNotRecognizeSelector:

UIBarItem是添加到出现在屏幕底部的条的项目的抽象超类。…</p>

对于-[UIToolbar items]or ,您必须使用 use 。UINavigationBar -[UINavigationItem (left|right)BarButtonItems]UIBarButtonItem

于 2013-04-03T19:07:34.293 回答
0

我遇到了同样的错误,尝试使对象成为按钮而不是项目。这段代码对我来说很好用

UIBarButtonItem *title = [[UIBarButtonItem alloc] init];
[title setTitle:@"My Title"];

如果您试图给工具栏一个标题,请制作一个带有标题的 UILabel 并将其添加为子视图。

于 2013-04-03T18:57:06.543 回答
0

来自苹果的文档

标题

项目上显示的标题。

@property(nonatomic, copy) NSString *title

讨论:您应该在将项目添加到栏之前设置此属性。默认值为无。

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

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

于 2013-04-03T18:58:41.220 回答
-1

我相信您应该使用initWithTabBarSystemItem:tag:initWithTitle:image:tag:初始化您的 UIBarItem。

于 2013-04-03T18:54:26.677 回答