我很難解決這個問題。 我的MainWindow.xib
,有一個NavigationController
,其視圖從另一個xib
繼承。MonoTouch.Dialog:導航欄中的返回項
現在,我從主視圖中按DialogViewController
,但在第二個視圖的導航欄中看不到後退按鈕。
有什麼具體的,我需要設置爲DialogViewController
當它被從UIViewController
推。
感謝和問候 阿布舍克
我很難解決這個問題。 我的MainWindow.xib
,有一個NavigationController
,其視圖從另一個xib
繼承。MonoTouch.Dialog:導航欄中的返回項
現在,我從主視圖中按DialogViewController
,但在第二個視圖的導航欄中看不到後退按鈕。
有什麼具體的,我需要設置爲DialogViewController
當它被從UIViewController
推。
感謝和問候 阿布舍克
實施DialogViewController的構造函數有一個名爲推的參數,你應該設置爲true:
new DialogViewController(rootElement, true); // true will show the back button
沒有看到你的代碼,我不知道到底發生了什麼錯在這裏。但是,根據我所知的UINavigationController
,視圖控制器堆棧開始爲空。當您按下第一個視圖控制器時,它會給導航控制器一個顯示視圖,但它沒有任何可返回的內容,因此它不顯示後退按鈕。如果你推第二個視圖,你可能會得到一個後退按鈕。
另外,如果您希望後退按鈕反映您將要返回的視圖,請確保在子視圖控制器上設置了Title
屬性。
您也可以自己
dialogViewController.NavigationItem.RightBarButtonItem = new UIBarButtonItem("Back",UIBarButtonItemStyle.Bordered,delegate(object sender,EventArgs e)
{
NavigationController.DismissModalViewControllerAnimated(true);
});
這會在導航欄的右側創建一個按鈕。不是左側帶箭頭的後退按鈕。 – Rodja
我有一個標籤欄控制器,然後把手拿開導航控制器(在flyoutnavcontollers故事板也)。其中一個來自這裏的視圖控制器啓動到MT.D stuffview的dialogviewcontroller中。
我想要一個可愛的指尖/錐形後退按鈕,從單擊對話框回到導航控制器中的呼叫點。
但是,即使在使用當前導航控制器出於某種原因(即沒有顯示該按鈕並且無法返回)時,啓動到MT.D中也會丟失導航。隨後的mt.d屏幕會顯示一個後退按鈕。
顯然你應該真正的布爾傳入呼叫,能後退按鈕,同時推到現有的堆棧,但這沒有工作對我來說:
this.NavigationController.PushViewController (dv, true);
丹的上面,我的解決方案沒有工作。但在根MT.D屏幕時彈出當前的dialogviewcontroller有助於恢復到我在原始導航控制器中的故事板(或flyoutnav控制器)中的位置。
不知道這個黑客是否是正確的方式,但它的工作原理。
dv.NavigationItem.RightBarButtonItem = new UIBarButtonItem("Back",UIBarButtonItemStyle.Bordered,delegate(object sender,EventArgs e)
{
NavigationController.PopViewControllerAnimated(true);
});
*更新
我manged通過將dialogviewcontroller目前viewcontrollers子視圖得到一個返回按鈕:
dvc = new MyDvcController(this.NavigationController);
this.View.AddSubview(dvc.TableView);
相應MyDvcController主要loooks這樣的:
public partial class MyDvcController : DialogViewController
{
public MyDvcController (UINavigationController nav): base (UITableViewStyle.Grouped, null)
{
navigation = nav;
Root = new RootElement ("Demos"){
new Section ("Element API"){
new StringElement ("iPhone Settings Sample", DemoElementApi),
}
};
}
}
this允許monotouch.dialog成爲當前導航控制器堆棧的一部分,並實現錐形外觀的自動後退按鈕..yay
順便說一句,所有「真」參數確實將NavigationItem.HidesBackButton設置爲false。它在ViewWillAppear方法中做到了這一點,因此如果您覆蓋該方法,則可以讓後退按鈕再次顯示。如果您通過故事板推送DialogViewController,這很有用。 –