[iOS6] UIToolBar下的UIBarButtonItem消失及解决
[iOS6] UIToolBar上的UIBarButtonItem消失及解决
今天在做一个画面的时候出现了一个很奇怪的现象(目前原因未明)
环境:
原始需求:
Xib文件:
创建了一个简单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窗口
现象:
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上面运行也不会发生该情况
图片可以参考附件
目前原因不明,找到一个简单的解决方案:
httpstackoverflow.comquestions12890930uibarbuttonitems-of-a-uitoolbar-hiding-when-presenting-uiactivityviewcontroller
在push UIActionSheet之前将ToolBar上面的Button去掉,push完了后再附加上。
今天在做一个画面的时候出现了一个很奇怪的现象(目前原因未明)
环境:
iOS6 + iPhone6模拟器 + Xcode4.5 + iMAC
原始需求:
Xib文件:
创建了一个简单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窗口
现象:
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上面运行也不会发生该情况
图片可以参考附件
目前原因不明,找到一个简单的解决方案:
httpstackoverflow.comquestions12890930uibarbuttonitems-of-a-uitoolbar-hiding-when-presenting-uiactivityviewcontroller
在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;