zoukankan      html  css  js  c++  java
  • 设置返回按钮的标题

    它一般是由一个左箭头加上一级ViewController的标题构成。如果我们想将这个标题文字修改成其它内容,甚至是设置为空,则需要额外想办法。 
    最省事的办法是将上一级ViewController的title修改为空或其它。但这会带来一个问题,即上一级ViewController的标题也会被修改,如果这个ViewController是位于TabBarController中,则TabBarItem的标题也会被修改。

    还有一种办法是在viewDidAppear方法中使用例如这样的语句: 
    self.navigationController?.navigationBar.backItem?.title=”“

    但这句代码只有在viewDidAppear方法中才好使。如果是放在viewDidLoad或者viewWillAppear中的话就不行了。 
    此外,用在viewDidAppear中的话,返回按钮的标题会有短暂的时间才会被修改,也就是说原来的标题文本在很短的时间内(零点几秒)仍然会显示。

    此外就只有定制导航栏的左按钮了,用一张箭头图片作为按钮的背景图。这样做费时费力不说,效果也和系统提供的返回按钮不太一致。具体有两点: 
    一、左按钮的位置要比返回按钮的位置稍微靠后一点(仔细看才能区分这一点,大概有20个像素的差别)。 
    二、左按钮不提供默认的popViewController行为,需要我们自己编写按钮的事件代码。

    这里介绍一种两全其美的方法,一不需要自定义左按钮,二完全使用系统默认的返回按钮,仅仅是按钮的标题被修改了。 
    代码如下:

    let viewControllerArray = self.navigationController!.viewControllers 
    let previousViewControllerIndex = (viewControllerArray as NSArray).indexOfObject(self)-1

    if (previousViewControllerIndex >= 0) { 
    if let previous = viewControllerArray[previousViewControllerIndex] as? UIViewController{ 
    previous.navigationItem.backBarButtonItem = UIBarButtonItem(title: “”, style: UIBarButtonItemStyle.Plain, target: self, action: nil) 

  • 相关阅读:
    jQuery效果
    jQuery事件
    jQuery安装和基础语法
    html5响应式布局
    html5新特性--音频视频,拖放
    js-浏览器DOM
    js-Array
    js-Date
    js-String
    Cocoa touch(五):UIControl
  • 原文地址:https://www.cnblogs.com/wcLT/p/4942729.html
Copyright © 2011-2022 走看看