`
woniu1983
  • 浏览: 167504 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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

    博客分类:
  • iOS
阅读更多
今天在做一个画面的时候出现了一个很奇怪的现象(目前原因未明)

环境:
    
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
0
2
分享到:
评论

相关推荐

    UIToolBar快速切换图标

    在iOS应用开发中,`UIToolbar` 是一个常用组件,它允许开发者在屏幕底部创建一个包含多个按钮或工具的栏。本主题聚焦于如何在`UIToolbar`上实现图标快速切换,这对于构建功能丰富的界面,提升用户体验具有重要意义。...

    iOS应用中使用Toolbar工具栏方式切换视图的方法详解

    关于UIToolbar ToolBar工具栏是视图View的属性,...在这里需要注意的是,与UINavigationBar类似,导航控制器拥有且只拥有一个UIToolBar实例,但UIToolBar拥有的UIBarButtonItem实例,是由视图控制器进行管理的,如下所示:

    UIBarButtonItem Demo实例

    `UIBarButtonItem`是一个可以放置在`UINavigationBar`、`UIToolbar`或`UISplitViewController`上的视图对象。它可以是文字、图像或者两者结合,也可以是自定义视图。在`rightBarButtonItem`和`leftBarButtonItem`...

    iOS中的导航栏UINavigationBar与工具栏UIToolBar要点解析

    在iOS应用开发中,UINavigationBar和UIToolBar是两种重要的界面元素,它们分别用于实现导航功能和展示快捷操作。接下来我们将深入解析这两个组件的关键点。 首先,UINavigationBar是导航控制器...

    iOS日期选择器简单例子

    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替代品,同时支持垂直和水平方向

    ISHHoverBar 在iOS 10 Maps应用程序中可以看到浮动的UIToolBar替代品,同时支持垂直和水平方向。 它旨在将鼠标悬停在您的内容之上,并且可以与自动布局很好地配合使用。 将其与结合以创建类似于iOS 10 Maps应用程序...

    iOS键盘带控制器

    6. **工具条(ToolBar)**:如果你只需要一个简单的工具条,可以使用UIToolbar作为控制器视图,添加UIBarButtonItem以提供各种操作按钮。每个UIBarButtonItem可以通过设置其title、image或customView来定制外观和...

    IOS下自定义下拉菜单的实现

    在iOS开发中,由于系统本身并未提供一个直接可用的下拉菜单控件,因此开发者们需要通过组合其他控件来实现一个类似下拉菜单的功能。在本例中,我们将探讨如何通过UITextField、UIPickerView和UIToolBar这三个控件来...

    IOS应用源码——UINavigationControllerWithToolbar.rar

    开发者可能通过`UIBarButtonItem`来创建工具栏上的按钮,并使用`addToolbarItems:animated:`或`setToolbarItems:animated:`方法来设置工具栏的按钮数组。 源码中的关键知识点可能包括: 1. `...

    iOS iphone工具栏创建简单的多视图

    在storyboard中,可以在toolbar上拖拽UIBarButtonItem,或者在代码中创建并添加它们。 3. **创建视图**:为了在工具栏按钮之间切换,你需要有多个UIView实例。这些视图可以是普通的UIView,也可以是更复杂的子类,...

    ios-KeyboardToolBar第二版.zip

    工具栏上的按钮可以通过`UIBarButtonItem`实例化,然后添加到`UIToolbar`上。每个`UIBarButtonItem`可以有自己的样式、动作和间距。 5. **手势处理**:为了提供更好的用户体验,可能还需要添加手势识别器,比如拖动...

    iOS开发中Date Picker和UITool Bar控件的使用简介

    UIToolbar是iOS界面中的水平条,通常用来放置一系列的UIBarButtonItem,这些按钮可以提供额外的功能或者导航。以下是如何创建和使用UIToolbar的一些要点: - 你可以通过`initWithFrame:`初始化一个UIToolbar,并...

    ios-UITextView仿微信输入.zip

    在iOS中,可以使用`UIToolbar`配合`UIBarButtonItem`来创建这样的工具栏,根据需要添加自定义按钮和事件处理。 5. **处理死数据** - 项目中可能使用了静态的数据来模拟输入效果。实际应用中,需要将这些静态数据...

    BSYItem:UIBarButtonItem 右或左

    `UIBarButtonItem` 是 `UIBarItem` 类的子类,它主要用于创建用户界面中的按钮元素,这些按钮通常出现在导航栏(UINavigationController)的左右两侧、工具栏(UIToolbar)或分割视图控制器(UISplitViewController...

    IOS: 两个页面相互转换

    在iOS中,我们可以使用UIToolbar来实现这个功能。例如,我们可以添加一个返回按钮,让用户能方便地回到上一页面: ```swift let toolbar = UIToolbar() toolbar.items = [UIBarButtonItem(barButtonSystemItem: ....

    移动开发学习

    通过上述介绍,我们可以了解到 UIScrollView 和 UIToolBar 在 iOS 开发中的重要性及其基本用法。这些组件对于构建功能丰富的移动应用至关重要。希望这些知识点能够帮助你在移动开发的学习过程中更进一步。

    IOS 键盘添加工具条 退出 上一项 下一项 简单实现

    let previousItem = UIBarButtonItem(title: "上一项", style: .plain, target: self, action: #selector(previousFieldTapped)) let nextItem = UIBarButtonItem(title: "下一项", style: .plain, target: self, ...

    ios数字键盘添加完成按钮

    我们可以创建一个UIBarPositionBottom的UIToolbar,并在其上添加一个UIBarButtonItem,设置其title为“完成”。然后将这个工具栏添加到UITextField或UITextView的inputAccessoryView属性上,这样当键盘出现时,工具...

    IOS Toolbar示例

    4. 将`UIBarButtonItem`添加到`UIToolbar`中,使用`toolbar.items = itemsArray`来设置。 5. 如果你希望这个`Toolbar`在`NavigationController`的底部显示,可以将`MyViewController`设置为`NavigationController`的...

Global site tag (gtag.js) - Google Analytics