0

这段代码是

_gradientLayer.locations = @[@0.00f, @0.01f, @0.95f, @1.00f];

我知道它声明了一个数组,但是我在哪里可以找到任何参考来阅读更多关于它的信息。

4

2 回答 2

4

这是 Obj-c 中新增的文字。

Apple 编译器版本的用户可以从 Apple LLVM Compiler 4.0 开始使用这些功能。从 clang v3.1 开始,开源 LLVM.org 编译器版本的用户可以使用这些功能。

您可以在运行 XCode4.4 及更高版本的编译器中找到它。

在这里找到完整的参考。

于 2013-03-26T06:24:50.790 回答
2

_gradientLayer 是一个 CAGradient 层,您必须定义位置和颜色数组才能将渐变添加到渐变层。

CAGradientLayer *layer = [CAGradientLayer layer];
layer.colors = [NSArray arrayWithObjects:
                (id)[[UIColor darkKinepolisColor] CGColor],
                (id)[[UIColor lightKinepolisColor] CGColor],
                (id)[[UIColor lightKinepolisColor] CGColor],
                (id)[[UIColor darkKinepolisColor] CGColor],
                nil];
layer.locations = [NSArray arrayWithObjects:
                   [NSNumber numberWithFloat:0.00],
                   [NSNumber numberWithFloat:0.01],
                   [NSNumber numberWithFloat:0.95],
                   [NSNumber numberWithFloat:1.0],
                   nil];

在这里它像

_gradientLayer.locations = @[@0.00f, @0.01f, @0.95f, @1.00f];
_gradientLayer.colors = @[(id)[[UIColor darkKinepolisColor] CGColor],
            (id)[[UIColor lightKinepolisColor] CGColor],
            (id)[[UIColor lightKinepolisColor] CGColor],
            (id)[[UIColor darkKinepolisColor] CGColor]];

旧的数组方式被新的注释取代

于 2013-03-26T06:21:24.477 回答