gpt4 book ai didi

ios - 在 UICollectionView 中的单元格上创建 View

转载 作者:行者123 更新时间:2023-12-01 16:52:26 25 4
gpt4 key购买 nike

我在将新创建的 View 放置在 UICollectionView 单元格上时遇到问题(并将其增长以填充屏幕)。当 Collection View 滚动到顶部时效果很好,但是一旦滚动,我就无法正确放置新 View ,因为我收集的浮点值低于窗口高度。

- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
UIView *picturesView = [[UIView alloc] init];
picturesView.frame = CGRectMake(CGRectGetMidX([[collectionView cellForItemAtIndexPath:indexPath] bounds]), CGRectGetMidY([[collectionView cellForItemAtIndexPath:indexPath] bounds]), 100, 100);

[self.view addSubview:picturesView];

[UIView animateWithDuration:0.3 animations:^{
picturesView.frame = CGRectMake(0, 0, windowWidth, windowHeight);
picturesView.alpha = 1.0;
}];
}

这里的问题是 CGRectMake 的 x 和 y 参数中的值大于滚动后的可用窗口区域,并且 View 出现在滚动剪辑下方(新创建的 View 似乎从屏幕底部向上滑动,这不是所需的动画)。

逻辑会让我通过 positionY = ((totalScrollHeight - topScrollAreaClipped) + screenPositionOfCell) 计算这些应该放在哪里。我似乎无法获得的唯一变量是被滚动剪辑的 UICollectionView 的高度。

除非有更好的方法来做到这一点。

最佳答案

您需要补偿 UICollectionView 的滚动位置.查看 scrollOffsett属性,然后从您的 x/y 位置减去该值,为您的 UIView 提供正确的框架.

关于ios - 在 UICollectionView 中的单元格上创建 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14534762/

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