ios - UIImageView 在UIScrollview中,旋转的问题

 唯美爱人2014 发布于 2022-11-08 07:05

基本上我是想做一个和weico的timeline中,点击图片放大,可以旋转这样的效果。(timeline或者说整个tab是不旋转的, 仅仅pop-over需要旋转) (facebook也是如此)

首先我没有用viewcontroller的旋转,原因如上。我用的是一个tab-view-controller, 里面有5个不同的view-controller, 其中的一个view-controller上,需要实现类似的效果,table-view中的每一个cell, 如果有图片的话,点击cell中的图片,可以放大图片。 pop-over的实现,是写在一个UIScrollView中,pop-over的animation即可。 当一张照片是横的话,用户会希望能横过来屏幕来看。所以侦听屏幕的rotate事件,当rotate时,大概调用下面的代码

UIView animateWithDuration:0.36
               animations:^(void){
                [_imageView setTransform:CGAffineTransformMakeRotation(M_PI*90/180)];
                 _imageView.frame = CGRectMake(0, 0, 480, 320); //set the frame after the rotate
                self.contentSize = CGSizeMake(480, 320); //set the content-size of the scrollview
               }
               completion:nil];

问题是,_imageView的位置在横过来的时候,始终不对,或者width不对(看在上面的代码中,是先set frame还是先rotate)

不知道如何搞定这个问题?

1 个回答
  • 如果你想单独对一个不支持横竖屏的viewController中的view支持横竖屏的话,你可以参考[MBProgressHUD](https://github.com/jdg/MBProgressHUD/...)的实现方案.

    不过大多数这种pop出来的图片应该都会在一个单独的viewController中以模态的方式展现出来吧,这个时候旋转的问题便是这个viewController要负责的了。

    2022-11-12 01:45 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有