在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];
}