アプリ Snapchat のクールな UI 機能を再現しようとしています。テーブル ビューの通常の高さを超えてスクロールすると、添付の画像に示すように、上にスクロールするほどセルが透明になります。現在、テーブル ビューの背後に背景画像があり、コンテンツの端を越えてテーブルをスクロールすると、その画像の一部が表示されます。ただし、私が知らないのは、テーブルをさらにスクロールするにつれて、テーブルのセルを徐々に透明にする方法です。どんな助けでも大歓迎です。
質問する
966 次
2 に答える
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)ストーリーボードで、テーブルの下にある UIImageView を使用していることを確認してください
2)viewDidLoadでこれを行います:
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>
そしてあなたは大丈夫なはずです。
于 2013-08-29T15:07:22.040 に答える
2
プロパティ alpha を使用して、透明なビューを作成できます。
スクロール開始時に ScrollView を使用
- (void)scrollViewDidScroll:(UIScrollView *)
してアルファ値を変更し、アルファ値を tableview または cell に設定します。先に進む前に、テーブル ビューのデリゲートを設定してください。
セルの場合、このようにアルファ値を設定cell.contentView.alpha=0.2;
できます。間違いがあれば、これで解決できることを願っています。
于 2013-08-28T13:09:10.450 に答える