Objective-c,设置渐变的两个视图,但只有一个正确

时间:2014-01-24 08:47:56

标签: ios objective-c uiviewcontroller gradient

我有一个问题。有什么可以给我一些提示吗?

我在故事板中设置了两个View。

我构建了一个AbstractViewController,这个类扩展了UIViewController。

然后我的IndexViewController扩展了AbstractViewController。

我的渐变代码是在AbstractViewController中编写的。

代码如下。

-(UIView *) setGradientView:(UIView *) gradientView initColor:(UIColor*) initColor     andFinshColor:(UIColor*)finshColor
{

    {
        initColor =[UIColor whiteColor] ;

    }

    if( finshColor == nil )
    {
        finshColor = [UIColor colorWithRed:230.0f/255.0f green:230.0f/255.0f     blue:230.0f/255.0f alpha:1.0f];
    }

    CAGradientLayer *gradient = [CAGradientLayer layer];
    gradient.frame = gradientView.bounds;
    gradient.colors = [NSArray arrayWithObjects:(id)[initColor CGColor],(id)[finshColor     CGColor],nil];
    [gradientView.layer insertSublayer:gradient atIndex:0];
    return gradientView;

}

然后我在IndexViewController中调用渐变。 我在viewDidLoad中写道。

以下代码:

[self setGradientView:_bgView initColor:nil andFinshColor:nil];
[self setGradientView:_bottomView initColor:[UIColor colorWithRed:10.0f/255.0f     green:10.0f/255.0f blue:1.0f/255.0f alpha:1.0f]
        andFinshColor:[UIColor colorWithRed:10.0f/255.0f green:10.0f/255.0f     blue:10.0f/255.0f alpha:1.0f]];

结果只有_bgView有改变颜色。 _bottomView未更改。

我对_bottomView没有改变颜色感到困惑。

有人知道吗?

谢谢〜

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。代码不是问题我没有设置_bottomView引用插座。 = =“谢谢你,@ KudoCC