gpt4 book ai didi

xamarin.ios - Xamarin 表单选择器 - 自定义 UIPickerView

转载 作者:行者123 更新时间:2023-12-04 15:57:46 26 4
gpt4 key购买 nike

使用 Xamarin Forms,如何将默认选择器 View 更改为在 PopoverController 中显示?下面的代码抛出“无法从没有窗口的 View 中呈现弹出窗口。”在 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);
}
}

最佳答案

this.Control.InputView您呈现的 View popOverController ?如果是这样,似乎在OnElementChanged()的时候执行,您的 this.Control.InputView无论出于何种原因,都不是窗口层次结构的成员。

你可能想把你的 popOver 呈现 Action 放在一个被覆盖的 MovedToWindow() 中。或 ViewDidAppear() .我不知道你是什么类型的this.Control.InputView是,但您需要覆盖该类型中的其中一种方法。

关于xamarin.ios - Xamarin 表单选择器 - 自定义 UIPickerView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24518887/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com