gpt4 book ai didi

ios - 像 iOS7 天气应用程序中的单元格背景视差

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:07:12 27 4
gpt4 key购买 nike

如果您看一下 iPhone 上的 iOS 7 Weather 应用程序,您会发现当您滚动时,UITableViewCells 的背景也会滚动(每个独立于其他部分)。我试图弄清楚它是如何完成的。有什么想法吗?


答案是

-(void)scrollTable:(UIScrollView *)scrollView
{
float offset = _tableViewNew.contentOffset.y / _tableViewNew.frame.size.height;
for (int i = 0; i <[cellTitle count]; i++) {
UITableViewCell *cell = [_tableViewNew cellForRowAtIndexPath:[NSIndexPath indexPathForRow:i inSection:0]];
CGRect frame = CGRectMake(cell.backgroundView.frame.origin.x, offset * 50, cell.backgroundView.frame.size.width, cell.backgroundView.frame.size.height);
cell.backgroundView.frame = frame;
}
}

最佳答案

我不会将其称为视差效果。它所做的只是设置所有单元格背景相对于滚动位置的起始位置。假设您的单元格背景图片有 150 个单位高,而您的总可滚动高度为 400 个单位。

那么滚动的百分比是:

relative scroll offset = tableView.contentOffset.Y / 400.

每当表格 View 滚动时(通过实现 UIScrollViewDelegate 的 scrollViewDidScroll:),调整单元格背景的垂直位置:

cell background offset = relative scroll offset * 150

为了实现scrollViewDidScroll:,您需要设置UITableView 的 属性委托(delegate)。作为 UITableView 的子类 UIScrollView,此属性需要一个 UIScrollViewDelegate。实例。在您的 Controller 中,实现 scrollViewDidScroll: 并将委托(delegate)属性设置为您的 Controller 。

关于ios - 像 iOS7 天气应用程序中的单元格背景视差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22147649/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com