app*_*ser 24 uidatepicker uitextfield ios4 xcode4
如何在文本框上点击显示datetimepicker控件?
我有一个具有到达和离开文本字段的用户界面,当用户点击到达文本框时,它应该调出datetimepicker控件而不是键盘,并且与出发文本框相同.
Dee*_*olu 42
您可以使用文本字段的属性inputView和inputAccessoryView属性.创建日期选择器并将其设置为两个文本字段的输入视图.还为Done按钮创建另一个视图,并将其作为附件视图.您将需要该按钮来关闭输入视图.
该Done按钮必须连接多达功能基本上做到这一点-
if ( [textField1 isFirstResponder] ) {
[textField1 resignFirstResponder];
} else if ( [textField2 isFirstResponder] ) {
[textField2 resignFirstResponder];
}
Run Code Online (Sandbox Code Playgroud)
另一种选择是子类化UITextField和覆盖inputView和inputAccessoryView.这是有足够数量时的方法.
例
@interface CustomKeyboardAppDelegate : NSObject <UIApplicationDelegate> {
...
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UITextField *textField;
@property (nonatomic, retain) IBOutlet UIToolbar *accessoryView;
@property (nonatomic, retain) IBOutlet UIDatePicker *customInput;
- (IBAction)dateChanged:(id)sender;
- (IBAction)doneEditing:(id)sender;
@end
Run Code Online (Sandbox Code Playgroud)
在XIB中,拉出a UIToolbar和a UIDatePicker但不要将其附加到视图中.适当连接插座.dateChanged:响应日期选择器中的更改,并在单击工具栏中doneEditing:的Done按钮时调用.也可以连接它们.这些方法如下所示实施.
@implementation CustomKeyboardAppDelegate
@synthesize window=_window;
@synthesize textField = _textField;
@synthesize accessoryView = _accessoryView;
@synthesize customInput = _customInput;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.textField.inputView = self.customInput;
self.textField.inputAccessoryView = self.accessoryView;
...
}
...
- (IBAction)dateChanged:(id)sender {
UIDatePicker *picker = (UIDatePicker *)sender;
self.textField.text = [NSString stringWithFormat:@"%@", picker.date];
}
- (IBAction)doneEditing:(id)sender {
[self.textField resignFirstResponder];
}
@end
Run Code Online (Sandbox Code Playgroud)
随着更多文本字段依赖于此选择器,最后两种方法将膨胀.
osc*_*lon 11
非常简单,在ViewController.h放入UITextFieldDelegate后viewDidLoad.
txtFecha.delegate = self;
datePicker = [[UIDatePicker alloc]init];
[datePicker setDatePickerMode:UIDatePickerModeDate];
self.txtFecha.inputView = datePicker;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
47618 次 |
| 最近记录: |