开发中的小知识

1. UILable文字自适应大小

 // 文本文字自适应大小
 label.adjustsFontSizeToFitWidth = YES;
 // 当adjustsFontSizeToFitWidth=YES时候,如果文本font要缩小时
 // baselineAdjustment这个值控制文本的基线位置,只有文本行数为1是有效
label.baselineAdjustment = UIBaselineAdjustmentAlignCenters;

2. 新建UIView中的Storyboard属性设置功能 (原文出处)

** 声明属性 **

//  ***.h
//  边线颜色
@property (nonatomic, strong) IBInspectable UIColor *borderColor;
//  边线宽度
@property (nonatomic, assign) IBInspectable CGFloat *borderWidth;
/// 圆角半径
@property (nonatomic, assign) IBInspectable CGFloat *cornerRadius;

** 实现 **

//  ***.m
- (void)setBorderColor:(UIColor *)borderColor {
       self.layer.borderColor = borderColor.CGColor;
}
 
- (UIColor *)borderColor {
    return [UIColor colorWithCGColor:self.layer.borderColor];
}
 
- (void)setBorderWidth:(CGFloat *)borderWidth {
    self.layer.borderWidth = borderWidth;
}
 
- (CGFloat)borderWidth {
    return self.layer.borderWidth;
}
 
- (void)setCornerRadius:(CGFloat)cornerRadius {
    self.layer.cornerRadius = cornerRadius;
    self.layer.masksToBounds = YES;
    // 栅格化 - 提高性能
    // 设置栅格化后,图层会被渲染成图片,并且缓存,再次使用时,不会重新渲染
    self.layer.rasterizationScale = [UIScreen mainScreen].scale;
    self.layer.shouldRasterize = YES;
}

- (CGFloat)cornerRadius {
    return self.layer.cornerRadius;
}

3. 判断是不是ARC环境

 #if !__has_feature(objc_arc)
      // pragram;
 #endif

4. CGGeometry中的方法

5. 一次设置多个nonnull属性

  NS_ASSUME_NONNULL_BEGIN
    // pragram
  NS_ASSUME_NONNULL_END

6. 项目编译出现如下错误:

开发中的小知识_第1张图片
系统的NSString都无法识别

原因:

在项目的PrefixHeader中添加了分类头文件。

** 解决: **
将所有的头文件放在 [如下代码块] 之间

#ifdef __OBJC__  
// import 头文件
 #endif

7.真机调试时出现错误:

新安装Xcode8后,真机调试出现如下错误:


错误提示1
错误提示2

解决方法:

开发中的小知识_第2张图片
配置Signing

8.动态更改约束时出现的错误:

** 原始需求(地址单行显示) **

  1. 原始代码:
原始需求高度约束代码
  1. 原始效果:
    开发中的小知识_第3张图片
    初始效果

    新需求:收货地址需要完全显示
  2. 修改代码:


    开发中的小知识_第4张图片
    初始高度约束
修改高度约束
  1. 修改代码后的效果:
开发中的小知识_第5张图片
修改代码后的效果

** ------这是什么鬼???,明明我更改的是地址栏高度不是吗?------**

更正(只要设置地址的高度为动态就好啦,详细理论请百度,这里只记录小知识):
1.更正后的代码:

开发中的小知识_第6张图片
更正后的代码
  1. 更正后的效果:


    开发中的小知识_第7张图片
    要的就是你

转载请注明出处 : http://www.jianshu.com/p/e52cc15e75b6

你可能感兴趣的:(开发中的小知识)