Я знаю, что это действительно старый вопрос, но я немного изменил свои цели.
Я хотел иметь возможность легко определить, действительно ли масштабирование включено / отключено, не полагаясь на сравнение между scrollView.minimumZoomScale == scrollView.maximumZoomScale
, которое, возможно, не может отразить, было ли масштабирование действительно включено / отключено.
Итак, я сделал это
// .h
@property (assign, nonatomic, getter=isZoomEnabled) BOOL zoomEnabled;
// .m
@synthesize zoomEnabled = _zoomEnabled;
- (void)setZoomEnabled:(BOOL)zoomEnabled;
{
_zoomEnabled = zoomEnabled;
UIScrollView *scrollView = self.scrollView;
if (zoomEnabled) {
scrollView.minimumZoomScale = self.minimumZoomScale;
scrollView.maximumZoomScale = self.maximumZoomScale;
} else {
scrollView.minimumZoomScale = 0.0f;
scrollView.maximumZoomScale = 0.0f;
}
}
Значения self.minimumZoomScale
и self.maximumZoomScale
устанавливаются во время настройки UIScrollView
.
Это дает мне возможность задать / спросить, включено ли масштабирование.
myViewController.zoomEnabled = YES;
myViewController.isZoomEnabled;