1.创建一个datePicker,在textField输入时弹出
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
//代码创建UIDatePickerView
UIDatePicker *datePicker = [[UIDatePicker alloc]init];
datePicker.datePickerMode = UIDatePickerModeDate;//只显示日期
self.birthdayInput.<span style="background-color: rgb(255, 255, 0);">inputView</span> = datePicker;//*******
self.datePicker = datePicker;
//代码创建UIToolbar
UIToolbar *toolbar = [[UIToolbar alloc]init];
toolbar.backgroundColor = [UIColor redColor];
toolbar.bounds = CGRectMake(0, 0, 320, 44);//注意这里必须设置bounds
UIBarButtonItem *pre = [[UIBarButtonItem alloc]init];
pre.title = @"上一个";
UIBarButtonItem *next = [[UIBarButtonItem alloc]init];
next.title = @"下一个";
UIBarButtonItem *finish = [[UIBarButtonItem alloc]initWithTitle:@"完成" style:UIBarButtonItemStylePlain target:self action:@selector(inputDate) ];
UIBarButtonItem *tanhuang = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];//加一个弹簧
<span style="background-color: rgb(255, 255, 0);">toolbar.items = @[pre,next,tanhuang,finish];</span>//添加到toolbar上
self.birthdayInput.<span style="background-color: rgb(255, 255, 0);">inputAccessoryView</span> = toolbar;//*******
}
2.从UIDatePicker得到年月日
-(void)finishSelectedDate{
//获取时间
NSDate *selectedDate = self.datePicker.date;
//格式化日期(2014-08-25)
//格式化日期类
<span style="background-color: rgb(255, 255, 0);">NSDateFormatter</span> *formater = [[NSDateFormatter alloc] init];
//设置日期格式
formater.dateFormat = @"yyyy-MM-dd";
NSString *dateStr = [formater <span style="background-color: rgb(255, 255, 0);">stringFromDate</span>:selectedDate];
NSLog(@"%@",dateStr);
//设置textfiled的文本
self.birthdayFiled.text = dateStr;
//隐藏键盘
[self.birthdayFiled resignFirstResponder];
}
3.PCH文件
//调试模式
#ifdef DEBUG
#define HMLog(...) NSLog(__VA_ARGS__)
//发布模式,没有日志log
#else
#endif
4.UIApplication
UIApplication对象是应用程序的象征
iOS程序启动后创建的第一个对象就是UIApplication对象
[UIApplication shareApplication]
属性
1>设置APP图标右上角的红色提醒数字
application.applcationIconBadgeNumber = 12;
2>设置网络连接提醒
appplication.networkAcitivityInicatorVisible = YES;
3>隐藏状态栏
默认是UIViewController管理状态栏
设置状态栏
-(BOOL)prefersStatusBarHidden{//隐藏状态栏
return YES;
}
想要UIApplication,修改Info.plist文件文件后
application.statusBarHiddern = YES;
applcation.statusBarStyle = 状态栏样式;
UIApplicaiton有个功能强大的openURL:方法
//打电话tel:,发短信sms:,发邮件mailto:
//打开一个网页
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.baidu.com"]];
app容易受到干扰,比如一个来电会导致app进入后台甚至被终止
UIApplcation会通知它的AppDelegate对象,让delegate代理来处理这些系统事件
delegate可处理的事件:
1>应用程序的生命周期事件(如程序启动和关闭)
2>系统事件(如来电)
3>内存警告
5.iOS程序的启动过程
打开程序-》执行main函数-》执行UIApplicationMain函数
-》初始化UIApplication(创建和设置代理对象,开启事件循环)-》监听系统事件(程序加载,获取焦点,进入后台等等)-》结束程序
6.UIApplication ApplicationDelegate UIWindow UIViewController
UIApplication有一个delegate就是ApplicationDelegate,该delegate有协议方法didFinishLaunchingWithOptions,系统会自动有一个UIWindow,UIWindow有一个rootViewController就是UIViewController, UIViewController有UIView,通过XIB/Storyboard/代码得到VIew