今天在做一个画面的时候出现了一个很奇怪的现象(目前原因未明)
[b]环境:[/b]
[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完了后再附加上。
[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;