Iphone UIToolbar UIBarButtonim对齐问题

Iphone UIToolbar UIBarButtonim对齐问题,iphone,cocoa-touch,uikit,uibarbuttonitem,uitoolbar,Iphone,Cocoa Touch,Uikit,Uibarbuttonitem,Uitoolbar,我需要创建一个UIToolbar,它有两个UIBarButtonim。第一个按钮必须居中,第二个按钮必须右对齐 我理解并使用灵活的间距,当我需要在UIToolbar上平衡按钮时效果很好,但是只有两个按钮,我似乎无法将中间的按钮完全居中。我甚至用初始化了view.toolbarItems数组 NSArray *items = [[NSArray alloc] initWithObjects:fixed, flex, center_button, flex, right_button, nil];

我需要创建一个UIToolbar,它有两个UIBarButtonim。第一个按钮必须居中,第二个按钮必须右对齐

我理解并使用灵活的间距,当我需要在UIToolbar上平衡按钮时效果很好,但是只有两个按钮,我似乎无法将中间的按钮完全居中。我甚至用初始化了view.toolbarItems数组

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

并设置fixed.width=right\u button.width。。。但是,居中按钮从来都不是完全居中的。

听起来可能是您的工具栏不是屏幕的全宽,或者是您的居中按钮在其框架中没有居中。您尝试过设置吗?

问题是,UIBarButtonItem的width属性似乎总是为零。(我认为这是因为系统使用零作为标志,使其成为“适当”的宽度。弹性空间也是如此。)您可能需要做的是在右按钮中使用图像(这样,您知道其宽度),并用“左按钮”替换固定空间它使用了与右按钮大小相同的透明图像。

我最近遇到了同样的问题,通过创建一种伪uibarbuttonite解决了这个问题。正确对齐的关键是将左、右条形按钮的
possibleTiles
属性设置为相同的值,例如:

[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];

迟交的答复。。。我希望这仍然有帮助。

请始终使用toolkit标记,以便人们可以隐藏与他们无关的问题。事实上,UIToolbar是UINavigationController的一部分,并延伸到整个屏幕。中间的按钮可以是UIBarButtonSystem中的任意一个项目,如果我有item,flex,item,flex,item,这些项目可以正常工作。只有当我想在最左边的角落留一个空白点时,问题才会显现出来。我现在无法测试这个问题——但这是一个很好的发现!我一有机会就会试试。谢谢!使用可能的按钮,我可以将中间的播放按钮置于三个按钮的中间位置。我只是将外部按钮设置为相同的标题。