我正在尝试使用UIScrollview和UIImageview来缩放图像... UIscrollview是300乘300并且位于故事板的中心..但是当...加载图像时,它位于左上角的位置(不完全是)任何一个scrollview ..但我希望它在视图加载时位于scrollview的中心......任何人都可以提出任何建议吗?
#import "ViewController.h"
@interface ViewController ()<UIScrollViewDelegate>
@property (strong, nonatomic) IBOutlet UIScrollView *scrollview;
@property (strong,nonatomic) UIImageView *imageview;
@end
@implementation ViewController
@synthesize scrollview,imageview;
-(void)viewDidLoad {
[super viewDidLoad];
scrollview.delegate=self;
UIImage *image = [UIImage imageNamed:@"back.jpg"];
imageview = [[UIImageView alloc] initWithImage:image];
imageview.contentMode=UIViewContentModeCenter;
imageview.frame=CGRectMake(0,0,scrollview.frame.size.width,scrollview.frame.size.height);
imageview.userInteractionEnabled=YES;
[scrollview addSubview:imageview];
scrollview.contentSize=image.size;
}
-(void)viewWillAppear:(BOOL)animated{
CGRect scrollviewframe=scrollview.frame;
CGFloat scaleWidth=scrollviewframe.size.width/scrollview.contentSize.width;
CGFloat scaleHeight=scrollviewframe.size.height/scrollview.contentSize.height;
CGFloat scaleMin= MIN(scaleWidth, scaleHeight);
scrollview.minimumZoomScale=scaleMin;
scrollview.maximumZoomScale=1;
scrollview.zoomScale=scaleMin;
[self centerScrollviewContents];
}
答案 0 :(得分:2)
我建议在故事板中使用自动布局。将UIImageView
和UIScrollView
之间的前导空格,顶部空间,尾随空格和底部空间设置为0(或填充时为正整数)应该可以解决问题。
答案 1 :(得分:1)
UIScrollView
初始化为默认值:contentOffset = CGPointZero
。
您需要计算适当的偏移并按代码设置。
图片应位于scrollView
的左上角,contentSize
由图片大小决定,以便滚动。