一句話筆記螟够,某段時(shí)間內(nèi)遇到或看到的某個(gè)可記錄的點(diǎn)桥胞。 2016-12-5
- 1导俘、圖片背景的氣泡的做法
- 2、獲取 NSURL 字符串后的參數(shù)
- 3驳概、BOOL / bool / Boolean 的區(qū)別
1赤嚼、圖片背景的氣泡的做法
- 準(zhǔn)備一張氣泡效果的背景圖,然后將這個(gè)氣泡圖做成一個(gè)layer實(shí)例顺又,并且通過contentCenter或者contentRect拉伸至我們需要展示的UIImageView大小
- 將做好的layer實(shí)例賦給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 微信聊天消息的圖片氣泡實(shí)現(xiàn)
2更卒、獲取 NSURL 字符串后的參數(shù)
情景:有時(shí)我們需要快速獲取一段 URL 字符串后的參數(shù)值
第一反應(yīng)做法: 通過截取字符串,來判斷稚照,但真的感覺有點(diǎn)齪
尋找蘋果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
來源我們組長的 開發(fā)獲取NSURL字符串的參數(shù)
3上枕、BOOL / bool / Boolean 的區(qū)別
而 Boolean 類型上是歷史意義的類型, Boolean Mac OS historic type, sizeof(Boolean)==1弱恒。
對于我們來說辨萍,需要重點(diǎn)了解下 BOOL 和 bool 的區(qū)別:
- 1、類型不同
- BOOL為int型
- bool為布爾型
- 2返弹、長度不同
- bool只有一個(gè)字節(jié)
- BOOL長度視實(shí)際環(huán)境來定锈玉,一般可認(rèn)為是4個(gè)字節(jié),它使用8位的存儲(chǔ)空間琉苇。
- 3嘲玫、取值不同
- bool取值false和true,是0和1的區(qū)別
- BOOL取值FALSE和TRUE并扇,是0和非0的區(qū)別
bool test1 = 0;
bool test2 = 5;
BOOL test3 = NO;
BOOL test4 = 5;
從打印結(jié)果就可以更好的看出其區(qū)別,想想有時(shí)某些小細(xì)節(jié)還是很有用的抡诞。