我在xamarin中为ios开发应用程序,但我认为本机目标c的概念是相同的。我想要一个容器视图,导航栏下面有一个栏,它将位于所有UIViewControllers
上。我去了容器类,所以我不必在所有页面上设置栏。还有另一种更有效的方法吗?该栏将包含将由直播活动更新但不能点击的图标,例如wifi状态但不是手机wifi。
我已经设法创建了一个自定义容器视图,其中包含一个导航栏和我想要的栏,并带有一个用于加载视图控件的视图包装器。我有导航工作的推动但弹出导致错误有时当快速跨越多个屏幕时,它只是停止但导航栏继续返回。我已经使用导航栏代理应该弹出等但似乎无法找出时间关闭的原因。
如果有人能指出我解决这个问题的方向,或者以不同的方式保持所有观点的相同模板,那将非常感激。欢呼声
代码示例:
的AppDelegate
_window = new UIWindow(UIScreen.MainScreen.Bounds);
_window.RootViewController = new ContainerView();
ContainerViewController:
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
NavigationController.NavigationBarHidden = false;
var loginView = this.CreateViewControllerFor(ContainerModel.Login) as UIViewController;
_navController = new UINavigationController(loginView);
_navController.SetNavigationBarHidden(true, false);
_navController.Delegate = new NavDelegate(navBar);
containerView.AddSubview(_navController.View);
因此navBar来自我的xib文件中手动添加的导航栏,而containerView是我想在containerview中显示每个viewcontroller的地方
答案 0 :(得分:0)
使用uiview代替导航栏,需要通过隐藏导航栏来更新每个xib。
答案 1 :(得分:0)
您是否可以使用具有以下结构的故事板?
- nav controller view
- container view
- nav controller view (hide/show nav bar as necessary)
- content