UITextField作为一个文本输入框,正常情况下的定义什么的如下:
nameText = [[UITextField alloc]initWithFrame:CGRectMake(80, 80, 80, 30)];
nameText.borderStyle = UITextBorderStyleRoundedRect;//设置输入框的边框
//nameText.backgroundColor = [UIColor redColor]; //???的颜色
nameText.font = [UIFont fontWithName:@"Arial" size:20.0f];//输入框字体 大小
nameText.delegate = self;
nameText.textColor = [UIColor blackColor]; //字体颜色
nameText.keyboardType = UIKeyboardTypeDefault;// 键盘的样式 这个是默认键盘 支持所有字符
[self.view addSubview: nameText];
{
nameText.userInteractionEnabled = NO;
设置为NO 键盘就不会出来
}
如果点击输入框需要显示弹出时间控制器或者pickerview等别的控件时候需要如下
1,先定义时间控制器
//定义一个时间控制器
datePicker = [[UIDatePicker alloc]initWithFrame:CGRectMake(0.0 , self.view.frame.size.height-216, 0.0, 0.0)];
datePicker.datePickerMode = UIDatePickerModeDate;//英文月份 日期 年
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"];//设置为中文显示
datePicker.locale = locale; datePicker.tag=0;
[ datePicker addTarget:self action:@selector(dateChanged:) forControlEvents:UIControlEventValueChanged ];
[add addSubview:datePicker ];//add是一个UIView视图
2,定义UITextField文本输入框并赋予时间控制器
startText = [[UITextField alloc]initWithFrame:CGRectMake(100, 140, 150, 30)];
startText.borderStyle = UITextBorderStyleRoundedRect;//设置输入框的边框
// genderText.backgroundColor = [UIColor redColor]; //???的颜色
startText.font = [UIFont fontWithName:@"Arial" size:20.0f];//输入框字体 大小
startText.delegate = self;
startText.textColor = [UIColor blackColor]; //字体颜色
// startText.keyboardType = UIKeyboardTypeNumberPad;//键盘的样式 数字键盘
startText.inputView =datePicker;//键盘换成控制器
[self.view addSubview: startText];
3,实现时间控制器定义的那个事 件,将时间显示在文本框里
-(void )dateChanged:(id)sender{
// dateChanged 是获取当前的选择器时间的
startDate = [datePicker date]; //selected 是选择器当前的时间Date//开始
NSLog(@"%@",startDate);
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd "];
NSString *strDate = [dateFormatter stringFromDate:startDate];
startText.text =strDate;
NSTimeInterval time = [endDate timeIntervalSince1970];
date1 = (long long int)time;
NSLog(@"miaoshu:%lld",date2); //加上面三行是把时间转化为秒数 }
}