开发中的小知识

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. 项目编译出现如下错误:

系统的NSString都无法识别

原因:

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

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

#ifdef __OBJC__  
// import 头文件
 #endif

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

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


错误提示1
错误提示2

解决方法:

配置Signing

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

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

  1. 原始代码:
原始需求高度约束代码
  1. 原始效果:
    初始效果

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


    初始高度约束
修改高度约束
  1. 修改代码后的效果:
修改代码后的效果

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

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

更正后的代码
  1. 更正后的效果:


    要的就是你

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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 168,534评论 25 707
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 132,628评论 18 139
  • UITextFeild文字修改后调用一段程序,每次做这个都用通知其实还有一个办法。这样写显得更简练 textFie...
    CAICAI0阅读 481评论 0 51
  • 没有 悬念的一天不知道是在庆祝爱 还是在庆祝失去街头的拥抱赢过巷尾孤单的猫
    却悔阅读 90评论 2 7
  • 嗯,突然和一个学中医的姐姐聊到了体寒的问题。聊完,默默的对照了一下自己的身体。心想,整整这一付皮囊吧,还要靠它去达...
    温馨Unicorn阅读 480评论 2 4