我使用的是自定义工具栏(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];
但用以下内容替换此行:
UIBarButtonItem* mapItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemBookmarks target:self action:@selector(toggleMapType)] autorelease];
将显示该项目。
任何人都知道为什么?
答案 0 :(得分:1)
此条形按钮图像仅可用于放置在工具栏上的条形按钮项目。
您正试图将其放在导航栏上,但这是不允许的。
看起来像这样:
这与iOS 7+设计指南不太一致,所以这也可能是一个问题,但是文档并没有提及任何关于弃用的内容,所以它不应该是。< / p>