【发布时间】:2010-09-14 22:09:26
【问题描述】:
我有以下代码,但我似乎无法让它工作。
首先我创建一个带有层的视图。
UIView *view = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 100)] autorelease];
CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = view.bounds;
gradient.colors = [NSArray arrayWithObjects:(id)[[UIColor blackColor] CGColor], (id)[[UIColor whiteColor] CGColor], nil];
[view.layer insertSublayer:gradient atIndex:0];
接下来我需要替换那个层。我尝试了以下方法,但它失败了,因为我不知道如何访问第 0 层。此时我处于程序的不同部分,所以我不能只调用 gradient。我需要以某种方式将其从 view 中解脱出来。
[view.layer replaceSublayer:0 with:newgradient];
显然 0 应该是 旧层,但我不知道如何访问它。
谢谢。
【问题讨论】:
标签: iphone cocoa-touch uikit core-animation