Phi*_*hil 6 xamarin.ios xamarin xamarin.forms
使用Xamarin Forms,如何更改默认选择器视图以在PopoverController中显示?下面的代码抛出"弹出窗口无法从没有窗口的视图中呈现".在iOS上.
public class BindablePickerRenderer : PickerRenderer {
private UIPickerView picker;
protected override void OnElementChanged(ElementChangedEventArgs<Picker> e) {
base.OnElementChanged(e);
this.picker = new UIPickerView() {
Source = (UIPickerViewModel) new PickerSource(e.NewElement)
};
var popoverContent = new UIViewController();
popoverContent.View = picker;
var popoverController = new UIPopoverController(popoverContent);
popoverController.PopoverContentSize = new SizeF(320, 180);
popoverController.PresentFromRect(picker.Frame, this.Control.InputView, UIPopoverArrowDirection.Up, true);
}
}
Run Code Online (Sandbox Code Playgroud)
this.Control.InputView
您所呈现的观点是popOverController
?如果是这样,则无论出于何种原因,在执行时OnElementChanged()
,您this.Control.InputView
似乎都不是窗口层次结构的成员。
您可能希望将 popOver-presenting 操作放在覆盖的MovedToWindow()
或中ViewDidAppear()
。我不知道你的类型this.Control.InputView
是什么,但你需要重写该类型中的其中一个方法。
归档时间: |
|
查看次数: |
2880 次 |
最近记录: |