在cocoapods的podfile文件更新和下载第三方框架
- 安装,pod install --no-repo-update
- 更新,pod update --no-repo-update
- --no-repo-update:不要更新仓库,迅速加载第三方框架
- 使用cocopods管理第三方框架后,都是通过.workspace工作空间来写代码的
跳转控制器的3种方式
- modal
- push
- 更改窗口的根控制器
让cell的分割线占据全屏的3种方案
-
方案一:自定义分隔线
-
方案二:修改系统的属性
- iOS7,只需要修改设置
self.tableView.separatorInset = UIEdgeInsetsZero
就可以使分隔线占据全屏; - 在iOS8,还要设置
cell.layoutMargins = UIEdgeInsetsZero;
- iOS7,只需要修改设置
-
方案三(万能的):重写cell的setFrame方法
- 先取消系统的分割线
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
- 设置tableView背景色为分割线颜色
- 将cell的高度减1,其他不变
- 先取消系统的分割线
//调整cell的frame
-(void)setFrame:(CGRect)frame
{
frame.size.height -= 1;
//给cell 的frame 赋值
[super setFrame:frame];
}
关于修改控件的圆角半径会使屏幕帧数下降的问题
self.iconView.layer.cornerRadius = self.iconView.width * 0.5;
// 超出主层边框就会被裁剪掉
self.iconView.layer.masksToBounds = YES;
- 在iOS8之前,确实存在这个问题,但是在iOS9,帧数不会下降,苹果已经修复了这个问题
从Xib中加载View注意事项
- 必须要固定尺寸
- 要在ViewDidLoad设置子控件的位置,在viewDidLayoutSubviews布局子控件
- 从Xib中加载View就会调用awakeFromNib方法,会把xib中所有的属性全部设置
- 例如:
- (void)awakeFromNib
{
UIImage *image = self.loginRegisterBtn.currentBackgroundImage;
image = [image stretchableImageWithLeftCapWidth:image.size.width * 0.5 topCapHeight:image.size.height * 0.5];
[self.loginRegisterBtn setBackgroundImage:image forState:UIControlStateNormal];
}
网友评论