前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >实践-小细节Ⅴ

实践-小细节Ⅴ

作者头像
進无尽
发布2018-09-12 18:16:07
7690
发布2018-09-12 18:16:07
举报
文章被收录于专栏:進无尽的文章

1. 对于系统UIButton设置富文本的坑
代码语言:javascript
复制
  _submitButton.titleLabel.attributedText = [self creatAttributedString];
  #有效
  [_submitButton setAttributedTitle: [self creatAttributedString] forState:UIControlStateNormal];

为什么不能这样呢,SDK说的很明确。

2. 避免多个UICollectionView 在一个View中

如果你在一个页面中创建了多个 UICollectionView 它们使用一套代理方法,也许在每个代理方法中你对当前的UICollectionView 做了判断,使用了不用的数据源,可是你会发现还是有莫名其妙的Bug,而且往往这些Bug,难以解释。

正确的做法是: 如上图的效果,自定义一个包含一个Label 一个UICollectionView的视图,创建两个对象即可,这样可避免多个UICollectionView使用一套代理协议造成的莫名其妙的Bug。

3. 限制输入小数点两位,超出限制范围输入不了

这也算一条路,与其最后弹框提示,不如不让其输入违法字符。

代码语言:javascript
复制
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    if (![textField  isMemberOfClass:[OSTextField class]]) {
        return NO;
    }
    NSMutableString * futureString = [NSMutableString stringWithString:textField.text];
    [futureString  insertString:string atIndex:range.location];

    NSInteger flag=0;
    const NSInteger limited = 2;
    for (NSInteger i = futureString.length-1; i>=0; i--) {
    if ([futureString characterAtIndex:i] == '.') {
        if (flag > limited) {
            return NO;
        }
          break;
      }
    flag++;
  }
   return YES;
}
4. Bool和bool 的不同之处

OC 中的BOOL 实际上是一种对带符号的字符类型(signed char)的类型定义(typedef),它使用8位的存储空间。通过#define指令把YES定义为1,NO定义为0。

注意:objective-c 并不会将BOOL作为仅能保存YES或NO值的真正布尔类型来处理。编译器仍将BOOL认作8位二进制数,YES 和 NO 值只是在习惯上的一种理解。 问题:如果不小心将一个大于1字节的整型值(比如short或int)赋给一个BOOL变量,那么只有低位字节会用作BOOL值。如果该低位字节刚好为0(比如8960,写成十六进制为0x2300),BOOL值将会被认作是0,即NO值。 而对于bool类型,只有true和false的区别,即0为false,非0为true。

举例: BOOL b1=8960; // 实际是 NO, 因为8960换成十六进制为0x2300,BOOL 只有8位存储空间,取0x2300的低8位,00,所以是NO bool b2=8960;//实际是true, 因为bool类型,非0即为true。

5. cellForRowAtIndexPath的崩溃问题
代码语言:javascript
复制
ReportTableViewCell *cell = [Tb cellForRowAtIndexPath:[NSIndexPath indexPathForRow:5 inSection:0]];

inSection 不带就崩溃,这在表的删除某行,插入某行是同样适用。

6.Pop回来导航栏隐藏时出现上出现一片空白
代码语言:javascript
复制
 方法1  [self.navigationController.navigationBar setHidden:YES];  
 方法2  [self.navigationController setNavigationBarHidden:YES];  
 方法3  [self.navigationController setNavigationBarHidden:YES animated:YES];  

使用第三种方法,就不会出现返回时一片空白的情况了。

7.UILabel上下居中

image.png

图中使用的是一个Label,为什么会出现图中这样的问题,出现顶部的大片空白是因为这个Label的高度太高,而内容却相对较少,把Label的高度设置短点即可。

8.UIImageView的几种图片填充方式
代码语言:javascript
复制
typedef enum {
   UIViewContentModeScaleToFill,
    UIViewContentModeScaleAspectFit,      // contents scaled to fit with fixed aspect. remainder is transparent
    UIViewContentModeScaleAspectFill,     // contents scaled to fill with fixed aspect. some portion of content may be clipped.
    UIViewContentModeRedraw,              // redraw on bounds change (calls -setNeedsDisplay)
    UIViewContentModeCenter,              // contents remain same size. positioned adjusted.
    UIViewContentModeTop,
    UIViewContentModeBottom,
    UIViewContentModeLeft,
    UIViewContentModeRight,
    UIViewContentModeTopLeft,
    UIViewContentModeTopRight,
    UIViewContentModeBottomLeft,
    UIViewContentModeBottomRight,
} UIViewContentMode;

UIViewContentMode 是UIView的属性,默认是第一种 UIViewContentModeScaleToFill,UIImageView下即图片适应UIImageView尺寸铺满 UIImageView。 其他模式的效果如下:

默认是这样的

代码语言:javascript
复制
折中方法: 
[self.headImage setContentMode:UIViewContentModeScaleAspectFill];
self.headImage.clipsToBounds = YES;

后是这样的

9.swf是什么文件

swf是flash动画文件,不少朋友经常玩的网页游戏以及网页视频电影其实都是swf文件,swf文件在网络中非常常见,比如:优酷或土豆视频播放的都是swf文件

大家只要简单的理解为swf文件是动画文件即可,swf(shock wave flash)是Macromedia(现已被ADOBE公司收购)公司的动画设计软件Flash的专用格式,是一种支持矢量和点阵图形的动画文件格式,被广泛应用于网页设计,动画制作等领域。

不过对于一个链接为 http:XXXXXXXXXXXX.swf 的视频链接,使用原声的视频播放器是无法播放的,而且使用 UIWebVIew加载也是无法显示的,可以这样理解,苹果封杀了 Flash文件(swf格式),不支持Flash的播放,这跟乔布斯讨厌Flash有关,目前为止,除了格式转化为 HTML文件播放,原声iOS环境是不支持swf文件的播放。

10.获取某个APP的下载链接

使用 Mac 里面的 iTunes

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.07.28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 对于系统UIButton设置富文本的坑
  • 2. 避免多个UICollectionView 在一个View中
  • 3. 限制输入小数点两位,超出限制范围输入不了
  • 4. Bool和bool 的不同之处
  • 5. cellForRowAtIndexPath的崩溃问题
  • 6.Pop回来导航栏隐藏时出现上出现一片空白
  • 7.UILabel上下居中
  • 8.UIImageView的几种图片填充方式
  • 9.swf是什么文件
  • 10.获取某个APP的下载链接
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档