导航栏和导航按钮中的单独标题

2023-12-05

嘿嘿,我有一叠UIViewControllers 位于 a 的内部UINavigationController。通常标题(或导航项的标题)决定导航栏中显示的标题(显示在顶部)and所有导航按钮,例如导航栏本身的后退按钮。

现在,我计划在导航栏的标题中添加更多信息,同时仍然保持这些按钮标签简短明了(例如视图的标题是“概述”,而按钮应该只显示“概述” ”)。

我目前正在尝试通过更改 NavigationItem 的标题来实现此目的ViewWillAppear and ViewWillDisappear。这效果很好,但人们可以看到文本发生变化的时刻(可能是由于动画)。我尝试过不同的组合ViewDidAppear and ViewDidDisappear也是如此,但效果最好Will方法。下面显示了一个示例代码(Example类被推送到 UINavigationController)。

有更好的方法来实现这一目标吗?也许只需更改按钮标题即可only或者直接改变导航的标题?或者我可以阻止标准机制将标题复制到所有其他实例吗?

public class Example : UIViewController
{
    private int depth;

    public Example ( int depth = 0 )
    {
        this.depth = depth;
        this.Title = "Title";
    }

    public override void ViewDidLoad ()
    {
        base.ViewDidLoad();

        UIButton btn = new UIButton( new RectangleF( 100, 100, 300, 50 ) );
        btn.SetTitle( "Duplicate me!", UIControlState.Normal );
        btn.TouchDown += delegate(object sender, EventArgs e) {
            NavigationController.PushViewController( new Example( depth + 1 ), true );
        };
        View.Add( btn );
    }

    public override void ViewWillAppear ( bool animated )
    {
        base.ViewWillAppear( animated );
        this.NavigationItem.Title = String.Format( "Title / {0}", depth );
    }

    public override void ViewWillDisappear ( bool animated )
    {
        base.ViewWillDisappear( animated );
        this.NavigationItem.Title = "Title";
    }
}

如果我理解正确的话,我认为有一个现成的解决方案:

在视图控制器的导航项上设置 backBarButtonItem。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

导航栏和导航按钮中的单独标题 的相关文章

随机推荐

  • 使用 EXEC 的结果创建新表

    我正在尝试获取结果EXEC查询并将它们放入我的 SQL Server 2017 数据库中的表中 我知道以前也有人问过类似的问题here here and here 但我还没有找到有效的解决方案 The EXEC查询本身运行得很好 并且结果正
  • 从大数据帧中采样小数据帧

    我试图从给定的数据帧中对数据帧进行采样 以便变量的每个级别都有足够的样本 这可以通过按级别分离数据帧并从每个级别中分离样本来实现 我想ddply 数据帧到数据帧 会为我做到这一点 举一个最简单的例子 set seed 1 data1 lt
  • 编解码器无法解码字节 0x81

    我有一段简单的代码 file open filename r encoding utf 8 num lines sum 1 for line in open filename 我只是想获取文件中的行数 但是我不断收到此错误 我正在考虑跳过
  • 干净的 XML 序列化分层、递归数据结构

    我有这门课 XmlRoot menuItem public class MenuItem XmlAttribute text public string Text get set XmlAttribute isLink public boo
  • 如何从QTableView中获取选定的行号?

    我是 QT 新手 我在用FrozenTabelWidget它源自于QTableView 如何获取选定的行号 如果索引发生变化 用户单击任何单元格 那么我需要获取该单元格行号 我的代码如下 freezetablewidget cpp incl
  • MVC4 / DotNetOpenAuth 中的自定义 OAuth 客户端 - 缺少访问令牌密钥

    我目前正在为我的应用程序实现 Dropbox OAuth 客户端 这是一个相当轻松的过程 直到我到达终点 授权后 当我尝试访问用户数据时 我会从 Dropbox 收到关于令牌无效的 401 消息 我在 Dropbox 论坛上询问 看起来我的
  • MySQL - 删除时外键在非空字段中设置为空

    这可能是一个微不足道的问题 但在外键约束方面我仍然有点笨拙 所以我想确定一下 假设我有一张桌子countries与田野country id PK 和name 和一张桌子cities与田野city id PK name and country
  • 同时移动2个表格

    我在这里有点卡住了 我试图同时移动 2 个表单 而不使用 OnMove LocationChanged Docking 等 与它们的位置交互的唯一方法是重写 WndProc 可能有帮助的是 表单 A 是表单 B 的所有者 因此 每当移动 A
  • 如何终止 PHP 会话?

    我正在编写一个社交网站 并且正在尝试找出 PHP 会话 在登录页面的顶部 我调用session destroy 在新用户正式注册为用户的页面和用户主页 我调用session start 当用户注销时 他们会链接到具有 session des
  • Reporting Services 将多个工作表导出到 Excel

    我目前正在构建一个 MS Reporting Services 报告 该报告可呈现为 Excel 我试图弄清楚如何设置报告 以便它在报告上创建数据的多个工作表 选项卡 据我所知 在报告中输入分页符会为您提供一个新的工作表 但是 有没有办法命
  • Javascript Array.prototype.filter() 不起作用

    我在客户端上运行这段代码来过滤事件列表 if res eventList filter function event const out res find function visibility return visibility ID e
  • 固件错误:Access-Control-Allow-Origin

    我正在调用 contextBroker 它给了我这个错误 Response to preflight request doesn t pass access control check No Access Control Allow Ori
  • 如何仅在Python中设置模块的日志记录级别?

    我在用logging info输出有关我的脚本正在执行的操作和我正在使用的信息logging basicConfig level logging INFO 启用此功能 和这个 logging basicConfig level loggin
  • 修改Python脚本批量转换目录下所有“WOFF”文件

    我一直在使用 GitHub 用户 hanikesn 见下文 编写的一个很棒的开源 python 脚本 该脚本通过命令行 Mac OS X 上的终端 将单个 WOFF 文件转换回 OTF 格式 现在 我将脚本拖放到终端 然后将 WOFF 文件
  • onActivityResult 中的 requestCode 错误

    我正在从我的片段开始一个新的活动 startActivityForResult intent 1 并希望在 Fragment 的父 Activity 中处理结果 Override protected void onActivityResul
  • 无法使用seaborn绘制双轴

    当我尝试在 jupyter 笔记本中使用 seaborn 绘制双轴图时遇到问题重要提示 该代码在 Python 2 上运行得很好 使用 anaconda 升级到 Python 3 后 我收到以下错误消息 Users enyi opt ana
  • 使用 GROUP 或 RANK 中的 WHERE 的 SQL 语句

    我有一份销售快照 内容大约是35 000 行 我们将这些列称为 Sales Rep Account ID Total Contract Value Date 我需要将所有内容分组Sales Rep然后从那里选择Sales Rep s 排名前
  • Underscore.js _.tap() 函数什么是方法链?

    Underscore js 文档解释说 tap 函数 点击 到方法链中 http underscorejs org tap 我很难遵循他们的例子 chain 1 2 3 200 filter function num return num
  • 如何在客户端导入socket.io - SOCKET.IO + NODE.JS

    我一直在尝试创建一个在线游戏 但是当我尝试使用socket on or socket emit 它会出现一个错误 如下所示socket 我看过一些与此类似的帖子 并尝试了所有解决方案 但没有一个有效 我已经得到了io connect 工作并
  • 导航栏和导航按钮中的单独标题

    嘿嘿 我有一叠UIViewControllers 位于 a 的内部UINavigationController 通常标题 或导航项的标题 决定导航栏中显示的标题 显示在顶部 and所有导航按钮 例如导航栏本身的后退按钮 现在 我计划在导航栏