我需要创建一个具有两个 UIBarButtonItems 的 UIToolbar。第一个按钮必须居中,第二个项目必须右对齐。

我理解并使用灵活的间距,当我需要平衡 UIToolbar 上的按钮时它非常有效,但只有两个按钮,我似乎无法完美地将中间按钮居中。我什至初始化了 view.toolbarItems 数组

NSArray *items = [[NSArray alloc] initWithObjects:fixed, flex, center_button, flex, right_button, nil];

并设置 fixed.width = right_button.width ... 但是, center_button 永远不会完全居中。

最佳答案

我最近遇到了同样的问题,并通过创建一种假 UIBarButtonItem 来解决它。获得正确对齐的关键是将左右栏按钮的 possibleTitles 属性设置为相同的值,例如:

[right_button setPossibleTitles:[NSSet setWithObject:@"Abc"]];

// Create this fake (plain) button item on the left, to correct the alignment.
UIBarButtonItem *fake = [[[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil] autorelease];
[fake setEnabled:NO];
[fake setPossibleTitles:right_button.possibleTitles];

// The array for your toolbar items
NSArray *items = [[NSArray alloc] initWithObjects:fake, flex, center_button, flex, right_button, nil];

迟到的答案......我希望这仍然可以帮助。

关于iphone - UIToolbar UIBarButtonItem 对齐问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2754500/

10-11 12:08