昨天完成了标签栏,今天继续在标签栏上添加日期选取器。
要实现这个功能,需要一个输出口和一个操作方法。要新增那么就要先到头文件中去声明输出口和操作方法接口。我是这样理解的。
#import<UIKit/UIKit.h>
@interface BIDDatePickerViewController :UIViewController
@property(strong,nonatomic)IBOutletUIDatePicker *datePicker;
-(IBAction)buttonPressed;
@end
注意这个buttonPressed没有参数。后面我会提到。
在库中找到Date Picker
拖入到BIDDatePickerViewController.xib中找到属性检查器
选中Minimum Date 和Maximum Date。
拖入一个Button 点击的时候弹出一个警告。
点击button就是触发Touch up Inside 事件将它关联File‘s Owner中的buttonPressed。在将File’s Owner 关联到日期选取器的datePicker输出口。
接下啦就是填充代码。
-(IBAction)buttonPressed
{
NSDate *selectd=[datePicker date];
NSString *message=[[NSStringalloc]initWithFormat:@"The date and time you selected is:%@",selectd];
UIAlertView *alert=[[UIAlertViewalloc]initWithTitle:@"Date and Time Selected"message:messagedelegate:nilcancelButtonTitle:@"Yes,I did."otherButtonTitles:nil];
[alert show];
}
- (void)viewDidLoad
{
[superviewDidLoad];
// Do any additional setup after loading the view from its nib.
NSDate *now =[NSDate date];
[datePickersetDate:nowanimated:NO];
}
- (void)viewDidUnload
{
[superviewDidUnload];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
self.datePicker=nil;
}
这样运行就完成了日期选取器。因为xcode有自动提示,刚开始没注意,就把buttonPressed的参数带上了。运行报错,说时内存异常,看到下面提示时buttonPressed方法。然后修改方法重新关联,仍然还是报这个错,最后把Button删除,重新创建和关联。运行成功。