• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - NavigationBar 和导航按钮中的单独标题

[复制链接]
菜鸟教程小白 发表于 2022-12-12 16:05:28 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

嘿,我在 UINavigationController 中有一堆 UIViewController。通常标题(或 NavigationItem 的标题)决定了 NavigationBar 中显示的标题(显示在顶部)所有导航按钮,例如导航中的后退按钮酒吧本身。

现在我计划在 NavigationBar 的标题中添加更多信息,同时仍然保持这些按钮标签简短明了(例如 View 的标题是“<客户名称>概览”,而按钮应该只是显示“概览”)。

我目前正在尝试通过在 ViewWillAppearViewWillDisappear 上更改 NavigationItem 的标题来实现此目的。这很好用,但可以看到文本发生变化的时刻(可能是由于动画)。我也尝试了 ViewDidAppearViewDidDisappear 的不同组合,但仅使用 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";
    }
}



Best Answer-推荐答案


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

在 View Controller 的导航项上设置 backBarButtonItem。

关于ios - NavigationBar 和导航按钮中的单独标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5338547/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap