常见问题(四)

一,时间戳的检验

  1> 不错的方法,但是跑在 iOS7 上就会出现异常,因为 iOS7 上要使用 longLongValue 代替 integerValue .

  if  (_start_time.integerValue / 1000 /1000 / 1000 / 1000 <= 0就抛弃掉,单位是毫秒.

二,视图不显示,也在最外层,点击一下就显示了

  1>  bringsubviewtofront 没有生效.

  2> 看层次结构图没有问题.

  3> 检查布局的代码,结果还真出了问题,设置约束中使用了make.left.right.mas_equalTo(self);更新约束的代码中使用了

        make.width.mas_equalTo(@(width));因此有可能造成不显示的问题.

 三,使用断点调试 framework 库文件代码

  1>  对于使用 framework 库文件的代码,想调试 framework 的源代码,可以更改该 framework 工程的关联 app.

  2>  方法如下:

    ①  路径:

      运行需要用到该 framework 库程序的主程序 , 运行成功以后找到主程序的工程文件结构中(show the project navigator) 的 products(黄色文件夹)下的"工程名.app"路径.

      (PS:右键 show in finder 可以查找到它的位置)

    ②  设置路径:

      打开 framework 工程文件,选中左上角要调试的库,或当前工程名,选择 edit scheme ,在弹出的框中选择 Run --> Executable --> other,选中刚才的 app.

      (PS:每设置一次 scheme 的 Executable, 就需要重新 build 一下,也就是执行"${PROJECT_DIR}/FrameworkAutoCopeScript.sh",更新库文件 sdk到主程序中)

    ③  编译库:

      输入正确的路径后会发现,左上角 framework名称前的公文包图片变成了 app 的默认图,直接在库文件中使用 cmd+b 编译一下.

      (PS:把新的库文件导入到主程序中)

    ④  调起 framework 程序:

      停止程序 , 在 framework 工程文件中,使用 cmd + r 运行要插入断点的 framework 程序,就可以看到程序断到了断点的位置.

  四,快捷隐藏collectionView某一行

  1>  可以让该行的行高改为0,但是依旧能显示该行.

  2>  保持 section 不变,在 collectionView:numberOfItemsInSection: 中让当前 section 的行数变为0,就可以处理这个问题.

  3>  若重写了 collectionView:layout:insetForSectionAtIndex: 方法,则应同时将刚刚的 section 的返回值改为0.

 五,按钮的背景图片或背景颜色中多了一条白线

  1>  感觉是图片拉伸的问题,改变了图片的拉伸方式为 stretch 后,依然会有问题.

  2>  研究了一下高度,改成一个和图片高度一样的数值之后,确实没有问题了....(PS:这里是图片有阴影,高度太高,拉伸就会出问题)

  3>  对于按钮的背景颜色中也有白线,把高度改的大一点,就不会有白线了,也是类似问题.

 六,判断一个字符串是否为数字

1     NSCharacterSet *noDigits = [[NSCharacterSet decimalDigitCharacterSet] invertedSet];
2     if ([str rangeOfCharacterFromSet:noDigits].location == NSNotFound)
3     {
4         // 是数字
5     } else
6     {
7         // 不是数字
8     }

    七, slide 轻划划不动, 用力划可以滑动

1 _tableView.delaysContentTouches = NO;
2         [_tableView.subviews enumerateObjectsUsingBlock:^(__kindof UIView * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
3             if ([obj isKindOfClass:[UIScrollView class]]) {
4                 UIScrollView *_s = (UIScrollView *)obj;
5                 _s.delaysContentTouches = NO;
6             }
7         }];

 

原文地址:https://www.cnblogs.com/lz465350/p/7050580.html