调试时打印出一个对象的具体数据
在模型类中重写debugDescription方法
debugDescription在打断点通过LLDB po 命令打印对象时会调用,该方法是NSObject协议中的一个方法,而且NSObject中已经做了默认实现,默认是打印对象的地址和类名
在模型中重写该方法自定义输出内容
- (NSString *)debugDescription {
return [NSString stringWithFormat:@"<%@:%p>:%@",[self class],&self,@{@"name" : _name,@"age" : _age}];
}
实现导航栏透明
给导航栏一张空的背景图片即可
[self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
将导航栏的线也透明
self.navigationController.navigationBar.shadowImage = [UIImage new];
导航栏透明效果根据下拉距离控制
[[self.navigationController.navigationBar subviews] objectAtIndex:0].alpha = 0; // 根据偏移量改变alpha即可
导航栏背景颜色设置
self.navigationBar.barTintColor = [UIColor orangeColor];
全局设置navigationBar、Tabbar的样式
[[UINavigationBar appearance] setBarTintColor:[UIColor redColor]];
[[UINavigationBar appearance] setTitleTextAttributes:@{NSFontAttributeName:[UIFont boldSystemFontOfSize:18]}];
[[UITabBarItem appearance] setTitleTextAttributes:@{NSFontAttributeName : [UIFont boldSystemFontOfSize:10]}];
打印View的所有子视图
po [[self view] recursiveDescription]
加载xib 转换为UIView
- UINib加载
UINib *nib = [UINib nibWithNibName:@"XLStockOrdersSectionHeader" bundle:[NSBundle mainBundle]];
UIView *header = (UIView *)[nib instantiateWithOwner:nil options:nil].firstObject;
- NSBundle加载
UIView *header = (UIView *)[[NSBundle mainBundle] loadNibNamed:@"XLStockOrdersSectionHeader" owner:nil options:nil].firstObject;
UINib 与 NSBundle
NSBundle加载每次都是从本地读取xib到内存中
UINib加载xib之后会缓存在内存中,当再次需要改xib时从内存中读取
presentViewController
TestViewController *testVC = [[TestViewController alloc] init];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:testVC];
[self presentViewController:nav animated:YES completion:nil];
在每一个控制器都应该添加下面的方法,方便监控每一个控制器的销毁
- (void)dealloc {
#ifdef DEBUG
NSLog(@"dealloc -- %@",[selfclass]);
#endif
}
设置textfield的placeholder的颜色两种方法
-
设置textfield的attributeplaceholder
NSAttributedString*attr = [[NSAttributedStringalloc]initWithString:@"占位文字"attributes:@{NSBackgroundColorAttributeName:[UIColorwhiteColor]}]; self.phoneNumTextField.attributedPlaceholder= attr;
-
通过KVC方式
[self.phoneNumTextFieldsetValue:[UIColorwhiteColor]forKeyPath:@"_placeholderLabel.textColor"];
网友评论