[iOS6] UIToolBar上的UIBarButtonItem消失及解决

今天在做一个画面的时候出现了一个很奇怪的现象(目前原因未明)

[b]环境:[/b]
iOS6  + iPhone6模拟器 + Xcode4.5 + iMAC


[b]原始需求:[/b]
[b] Xib文件:[/b]
创建了一个简单View
View的上方放了一个UIToolBar(称TopBar), 在这个UIToolBar上放了一个UIBarButtonItem,姑且称这个Button为Button A,同时放了一个UILabel
View的下方也放了一个UIToolBar(称BottomBar),在这个UItoolBar上放了一个UIBarButtonItem,姑且称这个Button为Button B, 点击 Button B会弹出UIActionSheet
在UIActionSheet上有三个Button,一个是Cancel,第二个是弹出Warning Dialog,第三个是打开另外一个UI窗口


[b]现象:[/b]
iOS设备转向到LandScape
点击Button B,弹出UIActionSheet
点击UIactionSheet上面的第三个Button,弹出其他窗口,然后再点击NavigationBar上的返回按钮,返回这个页面,发现, 顶部的TopBar上面的Button A消失了, 但是Label和Bar本身是显示好好的。此时再次点击Button B,弹出UIActionSheet然后点击Cancel按钮,发现Button A又回来了。
如果点击UIActionSheet上面的第一个CancelButton或者是点击第二个弹出Dialog的button都不会出现这种情况
同样是UIToolBar的 BottomBar上面的Button B却不受影响
Device的方向为Portrait时也不会发生该情况
iOS5上面运行也不会发生该情况


[b]图片可以参考附件[/b]

目前原因不明,找到一个简单的解决方案:
[url]httpstackoverflow.comquestions12890930uibarbuttonitems-of-a-uitoolbar-hiding-when-presenting-uiactivityviewcontroller[/url]

在push UIActionSheet之前将ToolBar上面的Button去掉,push完了后再附加上。

NSArray *barItems = self.navBar.items;
self.navBar.items = nil; // navBar 是 UIToolbar
[actionSheet showFromToolbar:self.navBar]; //TODO
[actionSheet release];
self.navBar.items = barItems;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值