[英]How to add a sibling view in Visual Studio Xamarin.ios designer?
[英]Meaning of exclamation mark in iOS Designer on Xamarin Studio
我正在與iOS Designer一起使用,並且有一個帶有不同視圖的故事板(導航控制器,...)。 幾乎每個視圖的底部右側都有一個紅色的感嘆號。 我收到類似的錯誤
System.NullReferenceException
你調用的對象是空的
如果我轉到相應的代碼行:
public override UIInterfaceOrientationMask GetSupportedInterfaceOrientations ()
{
return TopViewController.GetSupportedInterfaceOrientations();
}
這是我的CustomNavigationController
一部分。 如果我在iOS Designer上設置了類名,則會收到錯誤消息。 我必須在這里添加什么? 構造函數如下所示:
public CustomNavigationController (IntPtr handle) : base (handle)
{
}
我是否必須在AppDelegate中實例化它?
在另一個視圖控制器上,我得到了類似的異常(具有不同的堆棧),它指出了這一行:
this.NavigationController.NavigationBar.TintColor = UIColor.FromRGB (21, 66, 139);
該應用似乎可以在模擬器和設備上正常運行。
我該如何解決這個問題?
編輯:
現在,我在視圖控制器中刪除了代碼:
this.NavigationController.NavigationBar.TintColor = UIColor.FromRGB (21, 66, 139);
作為替換,我將此代碼移至Application Delegate FinishedLaunching()
:
UINavigationBar.Appearance.TintColor = UIColor.FromRGB (21, 66, 139);
結果是現在我沒有此視圖控制器的感嘆號,並且顏色是所需的。 但是,iOS Designer中的預覽不再向我顯示正確的顏色。
如果我注釋掉GetSupportedInterfaceOrientations()
在我的CustomNavigationController
比其他感嘆號已被刪除。 我以為我需要此功能來定義每個視圖控制器的方向。 快速瀏覽表明它似乎有效。
設計時間可以支持什么有限制。 在設計模式下,應將所有動態數據(例如,從服務加載的數據)替換為虛擬數據。 這同樣適用於僅在運行時可用的諸如TopViewController
類的運行時對象。
if (Site != null && Site.DesignMode)
{
// use dummy data for designer surface
}
else
{
// use live data
}
本文檔對其進行了更詳細的說明:
http://developer.xamarin.com/guides/ios/user_interface/designer/ios_designable_controls_overview/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.