Xamarin
用于使用 .NET 和 C# 构建 Android 和 iOS 应用的 Microsoft 开源应用平台。
15 个问题
我想修改 iOS 中 picker 的显示样式。在不选择任何内容的情况下,我需要添加一个“close”按钮来关闭 picker(我无法单击它后面的视图,因为它有一个触摸事件),同时我希望新按钮可以放在工具栏的左侧。
注意:此问题总结整理于:Custom Render for Picker - iOS
您好,
您可以在 toolBar上添加一个Close按钮,从而实现不选择任何内容就关闭Picker的功能, 请参考以下代码:
public class CustomPickerRenderer:PickerRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Picker> e)
{
base.OnElementChanged(e);
if (Control != null)
{
UIToolbar toolbar = (UIToolbar)Control.InputAccessoryView;
var closeButton = new UIBarButtonItem(UIBarButtonSystemItem.Close, (s, a) =>
{
Control.ResignFirstResponder();
UpdateCharacterSpacing();
});
List<UIBarButtonItem> oldItems = toolbar.Items.ToList();
// oldItems.Add(closeButton);
oldItems.Insert(0, closeButton);//新的close按钮将位于toolbar的左侧
UIBarButtonItem[] newItems = oldItems.ToArray();
toolbar.SetItems(newItems, false);
}
}
}
如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。 注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。