缩放 ScrollView

Posted

技术标签:

【中文标题】缩放 ScrollView【英文标题】:Zooming a UIScroolView 【发布时间】:2012-07-02 10:05:55 【问题描述】:

我有一个带有从 UIScrollview 扩展的 Myview 类的 Scrollview 的 Storyboard,该类实现了一种使用quartz2d 绘制一些矩形的方法。

我正在尝试在该 Scrollview 中实现放大/缩小,但没有办法,我无法在任何地方找到答案。

我的控制器(UIwindow)中有这个:

- (void)viewDidLoad 

[myscrollview setScrollEnabled:YES];
[myscrollview setPagingEnabled:YES];
myscrollview.clipsToBounds = YES;
myscrollview.minimumZoomScale= 1.0;
myscrollview.maximumZoomScale=6.0;
[myscrollview setZoomScale:myscrollview.minimumZoomScale];


- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView 
   return myscrollview;

但它不起作用。在哪里可以找到有关在 ios 5.1 中实现放大/缩小的信息?

谢谢。

【问题讨论】:

【参考方案1】:

设置委托后尝试

 myscrollview.delegate = self;

【讨论】:

从不兼容的类型“MyWindow *const__strong”分配“id 是的。我应该忽略它吗? 将您的界面更改为@interface YourViewController : UIViewController 它将修复警告【参考方案2】:

我假设你这样设置你的委托:myscrollview.delegate = self;

在您的 viewForZoomingInScrollView: 委托方法中,您必须返回一个您喜欢缩放的视图,而不是滚动视图本身。

【讨论】:

我想要相同的视图,放大,我该怎么做?我有一个黑色背景,上面画着红线:CGContextRef c = UIGraphicsGetCurrentContext(); CGFloat red[4] = 1.0f, 0.0f, 0.0f, 1.0f; CGContextSetStrokeColor(c, red); CGContextBeginPath(c); CGContextMoveToPoint(c, x*12, y*10); CGContextAddLineToPoint(c, x+10, y+10); 将绘图移动到单独的视图中,您无法缩放滚动视图本身。 类似 UIView* myview; [myview drawlines] myscrollview = myview ??

以上是关于缩放 ScrollView的主要内容,如果未能解决你的问题,请参考以下文章

【缩放】实现svg以鼠标为焦点缩放

缩放模式,缩放宽度,mfc中的缩放高度

scale缩放有部分表格变大

electronchrome缩放

R数据缩放值标准缩放(standardization scaling)以及最小最大缩放(Min-Max scaling)

如何在HTML中用CSS对图片进行缩放