나중에 참조 할 수 있도록 녹음 할 가치가 있다고 생각하므로 직접 대답 해 드리겠습니다. 내 HomeDialogViewController
의 ViewDidLoad()
방법에 SettingsDialogViewController
I 와이어를 가지고 :
NavigationItem.LeftBarButtonItem = new UIBarButtonItem("Settings", UIBarButtonItemStyle.Plain, (e, sender) => {
ActivateController (_settingsDvc());
});
SettingsDialogViewController
는 HidesBottomBarWhenPushed = true
만들어집니다. 따라서 설정 대화 상자가 활성화되면 하단 막대가 숨겨져 CustomTabBarController
의 ViewWillLayoutSubviews()
메소드가 호출됩니다. 이 메서드를 재정의하면 표시되는보기 컨트롤러 (예 : SettingsDialogViewController
)가 푸시 될 때 맨 아래 표시 줄을 숨길 지 여부에 따라 표시기의 표시 여부를 설정할 수 있습니다. 해당 뷰 컨트롤러가 팝되면 표시기가 자동으로 다시 나타납니다.
public override void ViewWillLayoutSubviews() {
base.ViewWillLayoutSubviews();
var selectedVc = SelectedViewController as UINavigationController;
indicator.Hidden = selectedVc != null && selectedVc.VisibleViewController.HidesBottomBarWhenPushed;
}
마지막 주
, 나는 새 설정보기를 활성화 할 때 발생 애니메이션이 상태 표시 줄 아래의 화면에서 검은 색 밴드를 표시하는 것을 발견했다. 나는 "보기"컨트롤러에서
AutoResizingMask
을 설정하여이 문제를 해결했습니다.
public override void ViewDidLoad() {
base.ViewDidLoad();
NavigationItem.LeftBarButtonItem = new UIBarButtonItem("Settings", UIBarButtonItemStyle.Plain, (e, sender) => {
ActivateController (_settingsDvc());
});
View.AutoresizingMask = UIViewAutoresizing.FlexibleHeight;
}