我遇到与HERE相同的问题..请帮忙!
我有一个UIViewController 支持滚动和缩放 的UIImageView。它很棒。
我正在尝试添加对更改的支持 在方向。出于各种原因,我 需要通过旋转才能做到这一点 UIImageView而不是 UIViewController中。
我的图像旋转工作,但是 如果用户在图像时捏缩放 旋转,图像的大小和 位置去疯狂(例如,图像 跳到一边,太小了, 似乎不知道范围在哪里 滚动视图的等等。)
h文件的核心内容:
@interface ImageViewController : UIViewController <UIScrollViewDelegate>
{
IBOutlet UIScrollView *scrollView;
IBOutlet UIImageView *imageView;
}
@property (nonatomic, assign) UIScrollView *scrollView;
@property (nonatomic, assign) UIImageView *imageView;
@end
支持缩放:
-(UIView*)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return imageView;
}
支持滚动(在设置之后设置) 图片已加载):
[scrollView setContentSize: CGSizeMake(imageView.bounds.size.width, imageView.bounds.size.height)];
支持旋转图像时 方向改变:
-(void)orientationChanged:(NSNotification *)note
{
UIDeviceOrientation orientation = [UIDevice currentDevice].orientation;
CGFloat angle = 0;
switch (orientation)
{
case UIDeviceOrientationLandscapeLeft:
angle = M_PI/2.0f;
break;
case UIDeviceOrientationLandscapeRight:
angle = -M_PI/2.0f;
break;
case UIDeviceOrientationPortraitUpsideDown:
angle = M_PI;
break;
default:
break;
}
self.imageView.transform = CGAffineTransformMakeRotation(angle);
}
我怀疑问题是的 scrollView很困惑,因为 由于图像的大小已经改变 轮换,但我无能为力 如何解决它。有任何想法吗? FWIW, 如果我更改,缩放确实有效 方向,但然后改回来 在缩放之前“垂直”。
答案 0 :(得分:0)
通过从srollView中删除它来重绘图像视图并再次阅读。