2012-07-06 83 views
1

我見過很多遍佈互聯網的人,詢問如何在邊緣淡入淡出的問題。有幾種解決方案几乎可行。一個例子是:UITableView淡入背景

CAGradientLayer *maskLayer = [CAGradientLayer layer]; 

CGColorRef outerColor = [UIColor colorWithWhite:1.0 alpha:1.0].CGColor; 
CGColorRef innerColor = [UIColor colorWithWhite:1.0 alpha:0.0].CGColor; 

maskLayer.colors = [NSArray arrayWithObjects:(__bridge id)innerColor, (__bridge id)outerColor, nil]; 
maskLayer.locations = [NSArray arrayWithObjects: 
         [NSNumber numberWithFloat:0.8], 
         [NSNumber numberWithFloat:1.0], nil]; 


maskLayer.bounds = CGRectMake(0, 0, 
           self.historyTable.frame.size.width, 
           self.historyTable.frame.size.height + self.headerLabel.frame.size.height); 
maskLayer.anchorPoint = CGPointZero; 

[self.view.layer addSublayer:maskLayer]; 

此代碼效果很好,但它的問題是它只能將其淡化爲純色。我想要做的就是淡入到背景圖像(它將具有圖案並可以將屏幕更改爲屏幕)。有沒有辦法做到這一點?

謝謝。

回答

0

有同樣的問題,假設我們正在談論的Cocoanetics tutorial,更換你的最後一行:

[self.view.layer addSublayer:maskLayer]; 

有了這一個:

self.historyTable.layer.mask = maskLayer; 

基本上跳過教程的最後一步,但附加tableView的圖層掩碼。

同時檢查this答案,包括處理頂部和表的底部完整的解決方案..