更改 UIToolbar 项目将两个按钮放在一起
Posted
技术标签:
【中文标题】更改 UIToolbar 项目将两个按钮放在一起【英文标题】:Changing UIToolbar items put two buttons on top of each other 【发布时间】:2011-12-01 18:13:31 【问题描述】:我有一个带有几个按钮的 UIToolbar:
我正在更改工具栏中的项目。我删除了最后一个显示“出售此资产...”的按钮,并添加了一个标题为“完成销售”的新 UIBarButtonItem,如下所示:
NSMutableArray *items = [[self.toolbar items] mutableCopy];
[items removeLastObject];
[items addObject:self.barButtonCompleteSale];
[self.toolbar setItems:items animated:YES];
问题:UIToolbar 没有正确更新。似乎“编辑”和“出售此资产...”之间的间隔是要删除的项目,并且正在添加“完成销售”项目,但它位于“出售此资产”按钮的顶部。
这发生在模拟器(ios 4.3 和 iOS 5.0)以及设备(iOS 5.0)上。 为什么会这样?
【问题讨论】:
【参考方案1】:我不知道发生了什么,但我决定将该 UIBarButton 项移出工具栏(只是为了将其保留在 xib 中以供以后比较),然后我添加了一个全新的UIBarButton 项目到工具栏,更改标题,连接 IBAction,现在一切正常。
在 xib 的幕后一定有一些奇怪的东西,但我不知道是什么原因造成的。不过,重新创建按钮似乎已经修复了它。
【讨论】:
以上是关于更改 UIToolbar 项目将两个按钮放在一起的主要内容,如果未能解决你的问题,请参考以下文章
NavigationController UIToolbar 更改项
在 UIToolbar 中的 UIBarButtonItem 上更改 tintColor 会导致按钮消失并从左侧动画化