美文网首页
一句话笔记(14)

一句话笔记(14)

作者: 天空中的球 | 来源:发表于2016-12-06 14:19 被阅读58次

    一句话笔记,某段时间内遇到或看到的某个可记录的点。 2016-12-5

    • 1、图片背景的气泡的做法
    • 2、获取 NSURL 字符串后的参数
    • 3、BOOL / bool / Boolean 的区别
    1、图片背景的气泡的做法
    • 准备一张气泡效果的背景图,然后将这个气泡图做成一个layer实例,并且通过contentCenter或者contentRect拉伸至我们需要展示的UIImageView大小
    • 将做好的layer实例赋给UIImageView
    • 再将imageview赋上图片就行了
    UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(100, 100, 100, 150)];
    CAShapeLayer *layer = [CAShapeLayer layer];
    
    layer.frame = imageView.bounds;
    layer.contents = (id)[UIImage imageNamed:@"chat"].CGImage;
    layer.contentsCenter = CGRectMake(0.5, 0.5, 0.1, 0.1);
    layer.contentsScale = [UIScreen mainScreen].scale;
    
    imageView.layer.mask  = layer;
    imageView.layer.frame = imageView.frame;
    imageView.image = [UIImage imageNamed:@"testImage"];
    
    [self.view addSubview: imageView];
    
    

    源自: iOS 微信聊天消息的图片气泡实现

    2、获取 NSURL 字符串后的参数

    情景:有时我们需要快速获取一段 URL 字符串后的参数值
    第一反应做法: 通过截取字符串,来判断,但真的感觉有点龊
    寻找苹果API : NSURLComponents、NSURLQueryItem, 然后类似下面这样就解决了。

        NSString *urlString = @"https://www.example.com?name=qiuqiu&id=001";
        NSURLComponents *components = [NSURLComponents componentsWithString:urlString];
        [components.queryItems enumerateObjectsUsingBlock:^(NSURLQueryItem * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
            NSLog(@"%@ == %@",obj.name,obj.value);
        }];
        // name == qiuqiu
        // id == 001
    

    来源我们组长的 开发获取NSURL字符串的参数

    3、BOOL / bool / Boolean 的区别
    [BOOL / bool / Boolean / NSCFBoolean 的区别](http://nshipster.com/bool/)

    而 Boolean 类型上是历史意义的类型, Boolean Mac OS historic type, sizeof(Boolean)==1。

    对于我们来说,需要重点了解下 BOOL 和 bool 的区别:

    • 1、类型不同
      • BOOL为int型
      • bool为布尔型
    • 2、长度不同
      • bool只有一个字节
      • BOOL长度视实际环境来定,一般可认为是4个字节,它使用8位的存储空间。
    • 3、取值不同
      • bool取值false和true,是0和1的区别
      • BOOL取值FALSE和TRUE,是0和非0的区别
        bool test1 = 0;
        bool test2 = 5;
        BOOL test3 = NO;
        BOOL test4 = 5;
    
    打印结果

    从打印结果就可以更好的看出其区别,想想有时某些小细节还是很有用的。

    相关文章

      网友评论

          本文标题:一句话笔记(14)

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