2
在Xamarin iOS Storyboard設計器中,ViewController的ViewDidLoad代碼在查看故事板時會自動生成並自動運行。這對編程設計元素非常有用,因爲我可以在設計器視圖中看到它們而無需啓動模擬器,但我還需要從ViewDidLoad進行API調用,並使錯誤導致設計人員崩潰「自定義組件未呈現,因爲問題被檢測到「。在Xamarin iOS設計器中,如何防止代碼在ViewDidLoad中運行?
public async override void ViewDidLoad()
{
base.ViewDidLoad();
AddWhiteGradient();
AddGreenGradient();
await CallApi();
}
在這個例子中,我喜歡的設計師調用AddWhiteGradient()和AddGreenGradient()功能,因爲我可以看到在故事板的結果,但等待CallApi()崩潰設計師。
是否有程序檢查以查看我是否處於設計器視圖中?
喜歡的東西之一:
if (!IsInDesignerView) {
await CallApi();
}
或
#if !DESIGNER
await CallApi();
#endif
這是一個非常好的問題! * common * .NET'DesignMode'映射不好(所以它不太可用)。如果它不存在(或者你找不到它),你應該在http://xamarin.uservoice.com/forums/144858-xamarin-product-suggestions – poupou 2014-09-13 17:12:11
上詢問這個功能。謝謝@poupou,我只是做了那個http ://xamarin.uservoice.com/forums/144858-xamarin-product-suggestions/suggestions/6436439-add-a-way-to-check-if-in-studio-designer-view – 2014-09-14 16:55:06