一句話筆記铝阐,某段時間內遇到或看到的某個可記錄的點恨胚。 2017-07-20
- Xcode 自定義環(huán)境變量 Environment Variables 進行判斷
- UICollectionView 的 contentSize 并不可以直接設置
一脚翘、Xcode 自定義環(huán)境變量 Environment Variables 進行判斷
Xcode可以在不同環(huán)境下自定義環(huán)境變量 Environment Variables灼卢,通過在運行環(huán)境Run中自定義變量來進行我們想要的判斷来农,這樣有時就可以操作一些自身想做的事情啦鞋真。
if ([[NSProcessInfo processInfo].environment[@"TEST_SELECT"] boolValue]) {
// DO SomeThing
}
if (getenv("TEST_SELECT")) {
// DO SomeThing
}
上述兩者都可以判斷,前者([[NSProcessInfo processInfo].environment[@"TEST_SELECT"] boolValue]
)可以判斷到具體的值沃于,后者(getenv("TEST_SELECT")
)只有 value 有就成立涩咖,當然是勾選的情況下咯,而我們不需要其進行判斷時直接不勾選就好啦繁莹。
PS : NSProcessInfo 是獲取進程信息檩互,里面有很多方便的屬性,便于我們查看和判斷咨演。
二闸昨、UICollectionView 的 contentSize 并不可以直接設置
當我們有時想直接設置 UICollectionView 中的 contentSize 時是發(fā)現(xiàn)并不可以的:
- (void)viewDidLoad {
[super viewDidLoad];
self.collectionView.contentSize = CGSizeMake(self.view.frame.size.width, 1000);
}
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
NSLog(@"size == %@",NSStringFromCGSize(self.collectionView.contentSize));
}
這樣打印出來還是其自動設置的值,但某些特殊需要的時候我們又要額外設置其 ContentSize 的雪标。
此時可以通過自定義 UICollectionViewFlowLayout 的時候零院,額外再設置下其 ContentSize 的。
/**
* 自定義Content Size
*/
@property (nonatomic, copy) CGSize(^customContentSize)(CGSize oldSize);
- (CGSize)collectionViewContentSize {
CGSize oldSize = [super collectionViewContentSize];
if (self.customContentSize) {
return self.customContentSize(oldSize);
}
return oldSize;
}