【问题标题】:iOS system settings with time picker UITextField带有时间选择器 UITextField 的 iOS 系统设置
【发布时间】:2013-06-05 11:49:11
【问题描述】:

我需要在我的应用的系统设置中添加时间选择器,可以吗?我看到有一个 UITextField 但没有用于 UITextField 的时间选择器的属性。

【问题讨论】:

    标签: ios uitextfield appsettings settings.bundle


    【解决方案1】:

    您有 UIPickerView 用于显示选择器 UITextFieldDelegates 文本框开始编辑

    点击文本框

    • 禁用键盘
    • 显示选择器
    • 在选择器委托上设置具有选定值的文本字段

    编辑:如果设置页面由 plist 管理。这是不可能的,因为苹果没有在设置页面上提供如此广泛的支持。您可以将设置作为设置页面添加到应用程序本身并完成所有操作这个

    【讨论】:

    • 谢谢,我知道如何在应用程序中为文本字段添加选择器。但我需要在我的应用程序的 iPhone 系统设置中使用这个选择器
    • 系统设置是指iphone设置中的应用设置页面?
    • 是的,没错。我需要它来为我的应用设置开始时间设置。
    • @Romula 编辑了我的答案。不可能
    【解决方案2】:

    初始化一个文本域。例如 UITextField *txtFld;

    //Text Field delegate method
    - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
    {
         [textField resignFirstResponder];
         UIDatePicker *datePicker = [[UIDatePicker alloc]initWithFrame:FRAME];
         datePicker.datePickerMode = UIDatePickerModeTime;
         [datePicker addTarget:self action:@selector(changeTextFieldValue:) forControlEvents:UIControlEventValueChanged];
         [self.view addSubview:datePicker];
    }
    
    -(void)changeTextFieldValue:(id)sender
    {
        NSDate *date = [datePicker date];
        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
        [dateFormatter setDateFormat:@"hh-mm"];
        NSString *dateString = [dateFormatter stringFromDate:date ];
        txtFld.text = dateString;
    }
    

    【讨论】:

    • 谢谢,请在 cmets 上方查看
    • 您无法访问设置。所以这是不可能的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多