2

我需要折叠/展开 UIImageView 的边缘以标记为收藏夹。我搜索了多个站点,但没有找到任何关于它的信息。

我附上了一些示例图像,如果可能的话,附上动画效果。

折叠 折叠 2

4

3 回答 3

1

一种方法是使用 OpenGL 为视图设置动画。有一个很好的库,叫做XBPageCurl

但是,您可以通过为卷曲效果创建遮罩并在过渡到它时为您的视图设置动画来实现更轻松的解决方案。这是它的样子

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.3];

UIImage *maskedImage = [yourImage imageMaskedWithImage:yourMask];
[yourImageView setImage:maskedImage];

[UIView commitAnimations];

要了解如何屏蔽图像,请查看此处http://mobiledevelopertips.com/cocoa/how-to-mask-an-image.html

于 2012-09-19T15:07:46.530 回答
0

可以用UIViewController'spresentModalViewController:animated:和设置modalTransistionStyleto 来完成UIModalTransitionStylePartialCurl。请参阅苹果的文档

于 2012-09-19T13:55:17.873 回答
0
@IBAction func curl(_ sender: Any, forEvent event: UIEvent) {
    
    if b == 1 {
    UIView.transition(with: imageview, duration: 1.5, options: .transitionCurlUp, animations: {self.imageview.isHidden = true}, completion: nil)
        b = 2
    }
    else if b == 2
    {
        self.imageview.isHidden  = false
        UIView.transition(with: imageview, duration: 1.5, options: .transitionCurlDown, animations: {self.imageview.isHighlighted = true}, completion: nil)
        b = 1
    }
}
于 2021-10-18T10:47:43.820 回答