gpt4 book ai didi

ios - 是否可以 'split' UIViewController 并将部件动画到所选单元格的顶部和底部

转载 作者:行者123 更新时间:2023-12-02 13:42:03 27 4
gpt4 key购买 nike

我有一个我们团队想要做的模型。基本上,当用户选择一个单元格时,所选单元格上方的部分会动画到顶部,单元格下方的部分会动画到底部。根据所选单元格在屏幕中的位置,它可以滚动到顶部或底部。它将显示所选单元格的“详细” Controller 。主列表中的 Hotel Tonight 应用程序就是一个很好的例子。

这是一个示例:

enter image description here

所以我的问题是,我知道我可以拆分 UITableView 但如何拆分?我认为它可以作为 UICollectionView 完成,因为单个元素可以进行动画处理。或者可能是 UIView 屏幕截图。

最佳答案

我还没有尝试过类似“Hotels Tonight”应用程序的任何东西,但我认为实现这种外观所需的步骤如下,

1) 从 UIViewController 中具有黑色主视图的表格 View 开始

2)使用renderInContext创建表格 View 的图像,

- (UIImage *)imageWithView:(UIView *)view {
UIGraphicsBeginImageContextWithOptions(CGSizeMake(view.bounds.size.width, view.bounds.size.height), view.opaque, [[UIScreen mainScreen] scale]);
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage * img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return img;
}

3)用这样的东西从你的第一张图像中制作两个图像,

-(NSArray *)createHalvedImages:(CGImageRef) image {
NSMutableArray *arr = [NSMutableArray array];
for(int i = 0; i < 2; i++){
float y = i * image.size.height/2.0;
CGImageRef tmp = CGImageCreateWithImageInRect(image, CGRectMake(0, y, image.size.width, image.size.height/2));
[arr addObject:[UIImage imageWithCGImage:tmp]];
}
}
return arr;
}

4) 将表格 View 替换为包含两个图像的两个 ImageView 。

5)动画显示两个 ImageView 以显示 Controller 的黑色主视图

6) 使用淡入淡出动画以模态方式呈现细节 Controller

关于ios - 是否可以 'split' UIViewController 并将部件动画到所选单元格的顶部和底部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25635716/

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