iPhone工具栏按钮间距

时间:2010-05-10 22:54:09

标签: iphone uibarbuttonitem

有没有办法让工具栏空间中的UIBarButtonItem均匀分布?

3 个答案:

答案 0 :(得分:18)

在UIBarButtonItem之间删除灵活空格键按钮项。这在IB中非常容易,请查看控件的底部。

如果您想以编程方式执行此操作,此代码应该有所帮助:

UIBarButtonItem* button1 = [[UIBarButtonItem alloc] initWithTitle:@"Button1" style:UIBarButtonItemStyleBordered target:self action:@selector(button1Action)];
UIBarButtonItem* button2 = [[UIBarButtonItem alloc] initWithTitle:@"Button2" style:UIBarButtonItemStyleBordered target:self action:@selector(button2Action)];
UIBarButtonItem *flexibleSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
[myToolbar setItems:[NSArray arrayWithObjects:button1, flexibleSpace, button2, nil]];

答案 1 :(得分:4)

忽略UIBarButtonItem建议的宽度;这不是Apple推荐的正确方法,如果您想添加更多图标,则无法使用。

正确的方法是在每个按钮之间添加“灵活空间”(技术上是另一个按钮!)。您可以在Interface Builder中看到它,或者如果需要,可以直接在代码中添加它。

答案 2 :(得分:2)

烨。使用UIBarButtonItem使用-initWithBarButtonSystemItem:方法创建UIBarButtonSystemItemFlexibleSpace,并在每个实际工具栏项之间插入。{1}}。 E.g:

UIBarButtonItem *flexSpace = [[UIBarButton alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace];
myToolbar.items = [NSArray arrayWithObjects:buttonOne,flexSpace,buttonTwo,flexSpace,buttonThree,nil];
[flexSpace release];