Three20 TTStyle Drop-shadow

时间:2011-10-24 11:12:48

标签: iphone three20

我正在尝试为视图创建一个看起来很奇特的标题。我正在使用TTView并应用了样式,但我的问题是我希望投影仅落在图像下方,而不是侧面。我希望两侧能够紧贴屏幕边缘。

目前看来是这样的:

enter image description here

我怎样才能使侧面难以抵挡屏幕边缘?

以下是我的样式代码:

UIColor* black = RGBCOLOR(158, 163, 172);
UIColor* blue = RGBCOLOR(191, 197, 208);
TTStyle *style = 
[TTShadowStyle styleWithColor:RGBACOLOR(0,0,0,0.5) blur:5 offset:CGSizeMake(0, 2) next:
[TTLinearGradientFillStyle styleWithColor1:RGBCOLOR(255, 255, 255)
                                    color2:RGBCOLOR(216, 221, 231) next:
[TTFourBorderStyle styleWithTop:blue right:black bottom:black left:blue width:1 next:nil]]];

headerView.style = style;

我很感激这个问题的任何帮助,因为我之前从未使用过三个。

2 个答案:

答案 0 :(得分:1)

我最终通过实验得出结论 - 如果你在样式链中的阴影之前在侧面使用负面UIEdgeMask,它会将主视图推到边缘。

TTStyle *style = 
[TTInsetStyle styleWithInset:UIEdgeInsetsMake(0, -5, 0, -5) next: 
[TTShadowStyle styleWithColor:RGBACOLOR(0,0,0,0.5) blur:5 offset:CGSizeMake(0, 2) next:
[TTLinearGradientFillStyle styleWithColor1:RGBCOLOR(255, 255, 255)
                                    color2:RGBCOLOR(216, 221, 231) next:
[TTFourBorderStyle styleWithBottom:black width:1 next:nil]]]];

答案 1 :(得分:0)

self.btn1.layer.shadowOffset = CGSizeMake(10, 10); //set the the value for the shade size when the negative that goes to oposite side of current.
    self.btn1.layer.shadowOpacity = 0.9;
    self.btn1.layer.shouldRasterize = YES;
    self.btn1.layer.shadowColor=[[UIColor grayColor]CGColor];

愿这段代码对你有所帮助