gpt4 book ai didi

ios - UIScrollView 可以缩放,但不能平移

转载 作者:行者123 更新时间:2023-11-29 13:11:39 24 4
gpt4 key购买 nike

我有一个 UIScrollView,里面有一个 UIView,在 UIView 旁边,我做了一个按钮来向它添加 textLabels。理想情况下,我会想要一个非常大的 Canvas ,并且能够在上面放置文本并进行平移和缩放。然而,使用 UIScrollView 它会缩放,但根本不会平移

似乎当我删除我在 UIScrollView 中添加的 UIView 时它工作正常。

这里是 viewDidLoad:

[super viewDidLoad];

CGFloat mainViewWidth = 700;
CGFloat mainViewHeight = 500;

//scrollView.contentSize = CGSizeMake(scrollView.frame.size.width * kNumberOfPages, scrollView.frame.size.height * kNumberOfPages);
//self.mainScrollView.bounds = CGRectMake(0., 0., 3000, 3000);
self.mainScrollView.scrollsToTop = NO;
self.mainScrollView.delegate = self;
self.mainScrollView.maximumZoomScale = 50.;
self.mainScrollView.minimumZoomScale = .1;
self.mainScrollView.autoresizingMask = UIViewAutoresizingFlexibleHeight;


self.mainView = [[UIView alloc] initWithFrame: CGRectMake(0, 0, mainViewWidth, mainViewHeight)];
[self.mainView setUserInteractionEnabled:NO];
self.mainView.backgroundColor = [[UIColor alloc] initWithRed:0.82110049709463495
green:1
blue:0.95704295882687884
alpha:1];


[self.mainScrollView setContentSize:CGSizeMake(5000, 5000)];
[self.mainScrollView insertSubview:self.mainView atIndex:0];

编辑:这是我所有的 UIScrollViewDelegate

#pragma mark - Scroll View Delegate
- (void)scrollViewDidScroll:(UIScrollView *)sender {

}

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
//
return self.mainView;
}


- (void)scrollViewDidEndZooming:(UIScrollView *)zoomedScrollView withView:(UIView *)view atScale:(float)scale
{

}

最佳答案

我刚刚经历了同样的困境。

我的 UIScrollView 存在于 Storyboard 中,如果我将该 Storyboard 中的 UIView (containerView) 添加到 UIScrollView,图像将无法平移。各种其他居中怪异现象也会发生。

但是如果我通过代码来实现:

// Set up the image we want to scroll & zoom
UIImage *image = [UIImage imageNamed:@"plan-150ppi.jpg"];
self.imageView = [[UIImageView alloc] initWithImage:image];

self.containerView = [[UIView alloc] initWithFrame:self.imageView.frame];
[self.containerView addSubview:self.imageView];
[self.scrollView addSubview:self.containerView];

// Tell the scroll view the size of the contents
self.scrollView.contentSize = self.containerView.frame.size;

...然后一切正常。

关于ios - UIScrollView 可以缩放,但不能平移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17184147/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com