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 次 |
| 最近记录: |