首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对于年份选择是可选的iOS,是否有自定义的日期选择器?

对于年份选择是可选的iOS,是否有自定义的日期选择器?
EN

Stack Overflow用户
提问于 2014-05-14 18:41:03
回答 2查看 816关注 0票数 2

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

你知道怎么做吗?

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

谢谢

EN

回答 2

Stack Overflow用户

发布于 2015-11-28 23:35:40

使用xamarin.ios,我所做的是在指轮顶部创建一个工具栏,其中有一个完成按钮和一个取消按钮。单击完成后,将设置该值,然后单击取消。您需要做的是将Datepicker值设置为类似1900-1-1的值,并将uitextfield值更改为类似于"Not set“的值。

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

代码语言:javascript
运行
复制
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;
    }

}

希望这能有所帮助!

票数 0
EN

Stack Overflow用户

发布于 2015-11-29 00:02:00

你可以尝试一下CKPickerView,它允许在UIDatePicker上非常容易地进行定制。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23652329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档