Cam*_*007 5 uinavigationbar uibarbuttonitem ios
我花了几个小时才试图把这个想法变成现实.我的最后一个选择就是创建空白标签来创造空间,但我觉得它们更清洁.
基本上我有三个按钮,我们试图在它们之间创建固定空间以获得整洁.每个按钮都以编程方式添加.
我找到了这段代码:
UIBarButtonItem *fixedItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
fixedItem.width = 20.0f; // or whatever you want
Run Code Online (Sandbox Code Playgroud)
(来源)
但是如何将这段代码分配给某个按钮呢?
你可能会感到困惑.您不会将此代码分配给按钮.该代码创建了一个类型的按钮UIBarButtonSystemItemFixedSpace.那么,做你所链接的答案就行了.创建固定和灵活的UIBarButtonItems(以及您拥有的其他按钮),然后在导航栏上设置它们.在这种情况下,它们将出现在导航栏的左上方区域(通过leftBarButtonItems):
// Create "Normal" buttons items:
UIBarButtonItem *button1 = [[UIBarButtonItem alloc] initWithTitle:@"1" style:UIBarButtonItemStylePlain target:Nil action:nil];
UIBarButtonItem *button2 = [[UIBarButtonItem alloc] initWithTitle:@"2" style:UIBarButtonItemStylePlain target:Nil action:nil];
UIBarButtonItem *button3 = [[UIBarButtonItem alloc] initWithTitle:@"3" style:UIBarButtonItemStylePlain target:Nil action:nil];
// Create "Spacer" bar button items
UIBarButtonItem *fixedItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
fixedItem.width = 20.0f; // or whatever you want
UIBarButtonItem *flexibleItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
self.navigationItem.leftBarButtonItems = @[button1, fixedItem, button2, flexibleItem, button3];
Run Code Online (Sandbox Code Playgroud)
此外,如果您有工具栏,则可以使用工具栏的items属性:
self.toolbar.items = @[button1, fixedItem, button2, flexibleItem, button3];
Run Code Online (Sandbox Code Playgroud)
您可以将此按钮(可能多次)添加到与其他按钮一起的数组中。然后,您可以将该数组设置为rightBarButtonItems(或leftBarButtonItems) 或视图控制器导航项。
| 归档时间: |
|
| 查看次数: |
2887 次 |
| 最近记录: |