2013-08-28 45 views
0

我在嘗試複製應用Snapchat具有的酷UI功能。當您滾動瀏覽表格視圖的正常高度時,滾動得越多,單元格變得越透明,如附圖所示。目前,我在桌面視圖背後有一個背景圖像,並且滾動超出其內容邊緣的表格會顯示該圖像的一部分。但是,我不知道如何讓表格單元格隨着滾動表格進一步變得更加透明。任何幫助將不勝感激。UITableView透明度越來越高,因爲它滾動到內容邊緣以外

enter image description here

+0

您是否知道'UIView'屬性'alpha'? 'UIScrollViewDelegate'協議如何? –

回答

2

所以這是我使用@ Vijay_07的答案走近方式:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView 
{ 
    // Fades out top and bottom cells in table view as they leave the screen 
    NSArray *visibleCells = [self.tableView visibleCells]; 

    CGPoint offset = self.tableView.contentOffset; 
    CGRect bounds = self.tableView.bounds; 
    CGSize size = self.tableView.contentSize; 
    UIEdgeInsets inset = self.tableView.contentInset; 
    float y = offset.y + bounds.size.height - inset.bottom; 
    float h = size.height; 


    if (y > h) { 
     self.tableView.alpha = 1 - (y/h - 1)*4; 
     for (UITableViewCell *cell in visibleCells) { 
      cell.contentView.alpha = 1 - (y/h - 1)*4; 
     } 
    } else { 
     for (UITableViewCell *cell in visibleCells) { 
      cell.contentView.alpha = 1; 
     } 
     self.tableView.alpha = 1; 
    } 
} 

同時:

1)在你的故事板確保您在視圖中使用表

2)以下的UIImageView DidLoad做到這一點:

UIImageView *myImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"SAMEIMAGE HERE!!.png"]]; 
[self.tableView setBackgroundView: myImage]; 
[self.tableView setBackgroundColor:[UIColor clearColor]]; 
[self scrollViewDidScroll:self.tableView]; 

3)在你的.h添加<UIScrollViewDelegate>

,你應該罰款。

+0

多數民衆贊成在多數民衆贊成在多數民衆贊成在多數民衆贊成在多數民衆贊成在多數民衆贊成在多數民衆贊成在多數民衆贊成在多數民衆贊成在多數民衆贊成在多數民衆贊成在多數民衆贊成在多數民衆贊成在多數民衆贊成在多數民衆贊成在多數民衆贊成,細胞越變得透明。 – user2600115

+0

這樣做確實是 – nick

+0

在代碼它說self.table.alpha我得到一個錯誤的「表」是說屬性「表」沒有找到對象類型ViewController,所以我用tableView替換它和它的工作原理,但當我開始滾動什麼問題時它開始變得透明瞭? – user2600115

2

您可以使用屬性阿爾法創建透明視圖。

use - (void)scrollViewDidScroll:(UIScrollView *) ScrollView在滾動開始時更改alpha值,將alpha值設置爲tableview或cell。在繼續之前設置表視圖的委託。

細胞可以設置阿爾法值這樣cell.contentView.alpha=0.2;我希望這可以解決,如果任何錯誤時的林間空地上看到我做了錯誤