将UIBarButtonItem居中在UIToolbar中并添加自定义文本

sha*_*ron 4 iphone cocoa-touch objective-c ios

我需要在ToolBar的中心添加一个按钮.我已成功将按钮添加到工具栏部件.我的问题如下;

1.)我需要把这个按钮放在中心位置.它应该位于工具栏的中心

2.)显示刷新按钮图像后,我需要有一个文本.

toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0 , 320 , 60)];

    NSMutableArray* button = [[NSMutableArray alloc] initWithCapacity:1];

    UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(refreshButtonAction:)];

    [button addObject:barButton];

    [toolBar setItems:button animated:NO];

    [self.view addSubview:toolBar];
Run Code Online (Sandbox Code Playgroud)

Ryd*_*kay 17

1.在工具栏项目数组中的条形按钮之前和之后添加灵活的间隔符:

toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0 , 320 , 60)];

UIBarButtonItem *flexibleSpace =  [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];

UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(refreshButtonAction:)];

NSArray *toolbarItems = [NSArray arrayWithObjects:flexibleSpace, barButton, flexibleSpace];

[toolBar setItems:toolbarItems animated:NO];

[self.view addSubview:toolBar];
Run Code Online (Sandbox Code Playgroud)

在Interface Builder中,配置工具栏要容易得多.如果您的视图控制器是一个内部UINavigationController栈,你仍然可以使用IB创建的出口集合UIBarButtonItemS和设置self.toolbarItems-viewDidLoad.

2.要在工具栏中获取自定义内容,您可以使用自定义视图创建一个条形按钮项:

UIView *customView = <# anything, could be a UILabel #>;
UIBarButtonItem *customItem = [[UIBarButtonItem alloc] initWithCustomView:customView];
Run Code Online (Sandbox Code Playgroud)