iOS-获取的NSDate date时间与实际相差8个小时解决方案
NSDate *date = [NSDate date];
NSTimeZone *zone = [NSTimeZone systemTimeZone];
NSInteger interval = [zone secondsFromGMTForDate: date];
NSDate *localeDate = [date dateByAddingTimeInterval: interval];
iOS编程-XCode Debug忽略SIGPIPE信号
在 main.m 中添加
signal(SIGPIPE, SIG_IGN);
debug的时候, 忽略SIGPIPE是不起作用的.
UITableView最上面tableHeaderView留空间的两种方法
1. UIView *headerView = [[UIView alloc] initWithFrame: CGRectMake(0, 0, 320, 44)];
m_tableView.tableHeaderView = headerView;
2. m_tableView.contentInset = UIEdgeInsetsMake(44, 0, 0, 0);
m_tableView.scrollIndicatorInsets = UIEdgeInsetsMake(44, 0, 0, 0);
iOS 函数
// ceil:如果参数是小数,则求最小的整数但不小于本身
NSLog(@"%f", ceilf(1.0000002)); // 7
NSLog(@"%f", ceil(1.000000000000001)); // 15
NSLog(@"%Lf", ceill(1.000000000000001)); // 15
// round:如果参数是小数,则求本身的四舍五入。
NSLog(@"%f", round(10.0000000004));
NSLog(@"%f", roundf(10.5));
NSLog(@"%Lf", roundl(10));
// floor:如果参数是小数,则求最大的整数但不大于本身.
NSLog(@"%f", floor(10.00001));
NSLog(@"%f", floorf(12.4));
NSLog(@"%Lf", floorl(10.54));
ios9中设置状态栏颜色与隐藏
1.iOS中设置状态栏的样式由 最顶层的UIWindow所在的控制器控制处理。
2.ios9之前可以不用设置window的根控制器,ios9必须设置根控制器。
3.ios9后设置状态栏的样式(隐藏)时,在最顶层的UIWindow所在的控制器中通过下面两个方法处理
- (UIStatusBarStyle)preferredStatusBarStyle { //设置样式
return UIStatusBarStyleLightContent;
}
- (BOOL)prefersStatusBarHidden { //设置隐藏显示
return NO;
}
通过
[[UIApplication sharedApplication] setStatusBarHidden:BOOL];
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyle)];
设置不太好使。
4.ios9中如果创建多个window,则改变状态栏的样式,只能在最顶层的window中的控制器中设置状态栏样式才有效。
例如:设置两个Window,通过在最顶层的window中的控制器中设置状态栏样式更改转态栏