项目总结-2

作者: MarceauHe | 来源:发表于2016-04-07 17:39 被阅读93次

    在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;
    • 方案三(万能的):重写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];
    }
    

    相关文章

      网友评论

        本文标题:项目总结-2

        本文链接:https://www.haomeiwen.com/subject/ugzmlttx.html