【问题标题】:Is there any custom date picker for iOS where year selection is optional?是否有任何适用于 iOS 的自定义日期选择器,其中年份选择是可选的?
【发布时间】:2014-05-14 10:41:03
【问题描述】:

我需要能够选择日期和月份,并将选项留给用户选择或不选择年份。例如,我在想一个包含所有年份的列表,最后添加一个选项“无选择”。

有什么想法吗?

我认为使用选择器视图是一种解决方案,但不确定。

谢谢

【问题讨论】:

    标签: ios uipickerview uidatepicker


    【解决方案1】:

    使用 xamarin.ios,我所做的是在指轮顶部创建一个带有完成和取消按钮的工具栏。当您单击完成时,值已设置,然后单击取消,您需要将 Datepicker 值设置为 1900-1-1 之类的值,并将 uitextfield 值更改为“未设置”之类的值。

    我正在使用 xamarin 表单。这就是我的自定义渲染器中的内容:

    public override void Draw (CGRect rect)
    {
        base.Draw (rect);
        DatePicker elem = (DatePicker)Element;
        UITextField textField = (UITextField)Control;
    
        var toolbar = new UIToolbar(new CGRect(0.0f, 0.0f, Control.Frame.Size.Width, 44.0f));
    
        toolbar.Items = new[]
        {
            new UIBarButtonItem(UIBarButtonSystemItem.Cancel,(object sender, EventArgs e) => {
                if (elem.SetValueNullAction!=null){
                    elem.SetValueNullAction();
                    textField.Text = DefaultNotSetText;
                }
            }),
            new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace),
            new UIBarButtonItem(UIBarButtonSystemItem.Done,(object sender, EventArgs e) => {
                elem.Unfocus();
            })
        };
    
        textField.InputAccessoryView = toolbar;
        textField.BorderStyle = UITextBorderStyle.None;
        textField.TextColor = Color.FromHex ("999999").ToUIColor ();
        CGRect frame = textField.Frame;
        frame.Width = 100;
        textField.Frame = frame;
        if (elem.Date == elem.MinimumDate) {
            textField.Text = ((DatePicker)this.Element).Label;
        }
    
    }
    

    希望这会有所帮助!

    【讨论】:

      【解决方案2】:

      你可以试试CKPickerView,它可以很容易地自定义UIDatePicker

      【讨论】:

        猜你喜欢
        • 2023-03-13
        • 1970-01-01
        • 2015-06-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多