UIBarButtonSystemItem页面卷曲未显示,其他系统图标显示

时间:2015-01-25 16:11:46

标签: ios uibarbuttonitem

我使用的是自定义工具栏(UIToolBar),它会显示一些项目/按钮。但是,其中一个不会出现。它在那里,我可以点击它,它响应并激活选择器,但它是不可见的。

这就是我构建工具栏的方式:

spacer=    [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil] autorelease];
menuItem=  [[[UIBarButtonItem alloc] initWithImage:[JASidePanelController defaultImage] style:UIBarButtonItemStylePlain target:(TabController*)self.parentViewController action:@selector(handleShowMenu)] autorelease];
addItem=   [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:[Storage currentStorage] action:@selector(showAddDialog)] autorelease];
titleItem= [[[UIBarButtonItem alloc] initWithTitle:[self pageTitle] style:UIBarButtonItemStylePlain target:nil action:nil] autorelease];

UIBarButtonItem* mapItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemBookmarks target:self action:@selector(toggleMapType)] autorelease];

NSArray* items= [NSArray arrayWithObjects:menuItem, spacer, titleItem, spacer, mapItem, addItem, nil];

toolbar= [[[UIToolbar alloc] initWithFrame:CGRectMake(0.0, 20.0, self.view.frame.size.width, TOOLBARHEIGHT)] autorelease];

[toolbar setItems:items];
[self.view addSubview:toolbar];

这不会显示:

UIBarButtonItem* mapItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem: UIBarButtonSystemItemPageCurl target:self action:@selector(toggleMapType)] autorelease];

Doesnt work

但用以下内容替换此行:

UIBarButtonItem* mapItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemBookmarks target:self action:@selector(toggleMapType)] autorelease];

将显示该项目。

Does work

任何人都知道为什么

1 个答案:

答案 0 :(得分:1)

根据UIBarButtonSystemItem docs

  

此条形按钮图像仅可用于放置在工具栏上的条形按钮项目。

您正试图将其放在导航栏上,但这是不允许的。

看起来像这样:

Page curl

这与iOS 7+设计指南不太一致,所以这也可能是一个问题,但是文档并没有提及任何关于弃用的内容,所以它不应该是。< / p>