gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:52:12 25 4
gpt4 key购买 nike

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

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

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

有没有更好的方法来实现这个目标?也许只是简单地更改按钮标题 或只是直接更改导航的标题?或者我是否可以阻止标准机制将标题复制到所有其他实例?

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";
}
}

最佳答案

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

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

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com