一句话笔记(27)(环境变量)

一句话笔记,某段时间内遇到或看到的某个可记录的点。 2017-07-20

  • Xcode 自定义环境变量 Environment Variables 进行判断
  • UICollectionView 的 contentSize 并不可以直接设置

一、Xcode 自定义环境变量 Environment Variables 进行判断

Xcode可以在不同环境下自定义环境变量 Environment Variables,通过在运行环境Run中自定义变量来进行我们想要的判断,这样有时就可以操作一些自身想做的事情啦。

TEST_SELECT
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 时是发现并不可以的:

- (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;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容