基本上我是想做一个和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)。
不知道如何搞定这个问题?