今天在做一个画面的时候出现了一个很奇怪的现象(目前原因未明)
环境:
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;
- 大小: 8.9 KB
- 大小: 18 KB
- 大小: 9 KB
分享到:
相关推荐
在iOS应用开发中,`UIToolbar` 是一个常用组件,它允许开发者在屏幕底部创建一个包含多个按钮或工具的栏。本主题聚焦于如何在`UIToolbar`上实现图标快速切换,这对于构建功能丰富的界面,提升用户体验具有重要意义。...
关于UIToolbar ToolBar工具栏是视图View的属性,...在这里需要注意的是,与UINavigationBar类似,导航控制器拥有且只拥有一个UIToolBar实例,但UIToolBar拥有的UIBarButtonItem实例,是由视图控制器进行管理的,如下所示:
`UIBarButtonItem`是一个可以放置在`UINavigationBar`、`UIToolbar`或`UISplitViewController`上的视图对象。它可以是文字、图像或者两者结合,也可以是自定义视图。在`rightBarButtonItem`和`leftBarButtonItem`...
在iOS应用开发中,UINavigationBar和UIToolBar是两种重要的界面元素,它们分别用于实现导航功能和展示快捷操作。接下来我们将深入解析这两个组件的关键点。 首先,UINavigationBar是导航控制器...
toolbar可以是`UIToolbar`对象,添加两个`UIBarButtonItem`,并设置它们的样式和动作: ```swift let toolbar = UIToolbar(frame: CGRect(x: 0, y: 0, width: view.bounds.width, height: 44)) let doneButton = ...
ISHHoverBar 在iOS 10 Maps应用程序中可以看到浮动的UIToolBar替代品,同时支持垂直和水平方向。 它旨在将鼠标悬停在您的内容之上,并且可以与自动布局很好地配合使用。 将其与结合以创建类似于iOS 10 Maps应用程序...
6. **工具条(ToolBar)**:如果你只需要一个简单的工具条,可以使用UIToolbar作为控制器视图,添加UIBarButtonItem以提供各种操作按钮。每个UIBarButtonItem可以通过设置其title、image或customView来定制外观和...
在iOS开发中,由于系统本身并未提供一个直接可用的下拉菜单控件,因此开发者们需要通过组合其他控件来实现一个类似下拉菜单的功能。在本例中,我们将探讨如何通过UITextField、UIPickerView和UIToolBar这三个控件来...
开发者可能通过`UIBarButtonItem`来创建工具栏上的按钮,并使用`addToolbarItems:animated:`或`setToolbarItems:animated:`方法来设置工具栏的按钮数组。 源码中的关键知识点可能包括: 1. `...
在storyboard中,可以在toolbar上拖拽UIBarButtonItem,或者在代码中创建并添加它们。 3. **创建视图**:为了在工具栏按钮之间切换,你需要有多个UIView实例。这些视图可以是普通的UIView,也可以是更复杂的子类,...
工具栏上的按钮可以通过`UIBarButtonItem`实例化,然后添加到`UIToolbar`上。每个`UIBarButtonItem`可以有自己的样式、动作和间距。 5. **手势处理**:为了提供更好的用户体验,可能还需要添加手势识别器,比如拖动...
UIToolbar是iOS界面中的水平条,通常用来放置一系列的UIBarButtonItem,这些按钮可以提供额外的功能或者导航。以下是如何创建和使用UIToolbar的一些要点: - 你可以通过`initWithFrame:`初始化一个UIToolbar,并...
在iOS中,可以使用`UIToolbar`配合`UIBarButtonItem`来创建这样的工具栏,根据需要添加自定义按钮和事件处理。 5. **处理死数据** - 项目中可能使用了静态的数据来模拟输入效果。实际应用中,需要将这些静态数据...
`UIBarButtonItem` 是 `UIBarItem` 类的子类,它主要用于创建用户界面中的按钮元素,这些按钮通常出现在导航栏(UINavigationController)的左右两侧、工具栏(UIToolbar)或分割视图控制器(UISplitViewController...
在iOS中,我们可以使用UIToolbar来实现这个功能。例如,我们可以添加一个返回按钮,让用户能方便地回到上一页面: ```swift let toolbar = UIToolbar() toolbar.items = [UIBarButtonItem(barButtonSystemItem: ....
通过上述介绍,我们可以了解到 UIScrollView 和 UIToolBar 在 iOS 开发中的重要性及其基本用法。这些组件对于构建功能丰富的移动应用至关重要。希望这些知识点能够帮助你在移动开发的学习过程中更进一步。
let previousItem = UIBarButtonItem(title: "上一项", style: .plain, target: self, action: #selector(previousFieldTapped)) let nextItem = UIBarButtonItem(title: "下一项", style: .plain, target: self, ...
我们可以创建一个UIBarPositionBottom的UIToolbar,并在其上添加一个UIBarButtonItem,设置其title为“完成”。然后将这个工具栏添加到UITextField或UITextView的inputAccessoryView属性上,这样当键盘出现时,工具...
4. 将`UIBarButtonItem`添加到`UIToolbar`中,使用`toolbar.items = itemsArray`来设置。 5. 如果你希望这个`Toolbar`在`NavigationController`的底部显示,可以将`MyViewController`设置为`NavigationController`的...