我有一個在iPhone模擬器上工作得很好的UIActionSheet。它在用戶觸摸UIButton時顯示。Monotouch - UIActionSheet在iPad上無法正確顯示
使用iPad,我相信UIActionSheets被包裝到一個UIPopupController中。
當我使用iPad模擬器調用相同的代碼時,顯示一條細線,看起來像UIPopupController(您可以看到通常指向控件的小箭頭)。沒有任何內容可以被看到。
使用帶有MonoTouch的iPad的UIActionSheet的正確方法是什麼?下面是示例代碼一點我一直在測試 - 創建UIActionSheet:
var actionSheet = new UIActionSheet() { Style = UIActionSheetStyle.BlackTranslucent };
actionSheet.Frame = actionSheetFrame;
actionSheet.Clicked += (s, e) => { Console.WriteLine ("Clicked on item {0}", e.ButtonIndex); };
actionSheet.AddSubview (doneButton);
然後,我顯示通過調用按鈕下面的actionsheet:
btnSay.TouchUpInside += (sender, e) => {
actionSheet.ShowFrom(tmpBtn.Frame, tmpView, false);
};
我得到的東西像使用iPad模擬器時附上的截圖。
供參考,在這裏是什麼UIActionSheet看起來使用iPhone模擬器時等。
注:該項目是一個通用的單一視圖MonoTouch的C#項目。
任何指針或幫助將不勝感激!
當觸摸btnSay時,什麼是tmpBtn.Frame?那麼tmpView呢?我想你想要顯示btnSay.Superview中的btnSay.Frame的actionSheet。 –
嗨雅各布,tmpBtn.Frame是主視圖上按鈕的框架/矩形。 tmpView實質上只是「視圖」,即當前顯示的主視圖。我會給你說的一個嘗試 - 謝謝! – Shogan
嗨,雅各布,抱歉我看到你現在說的 - 早一點衝了一下。是的,現在我已經試圖顯示這樣的actionSheet - 使用3個參數 - 按鈕btnSay.Frame的框架,按鈕的超級視圖,以及true或false動畫或不動畫。像這樣,我得到了上面屏幕截圖中描述的問題。 – Shogan