UIScrollView 禁止縮放

UIScrollView 禁止縮放,因?yàn)閁IScrollView 沒(méi)有禁止縮放的屬性,這邊整理一下大概的幾種方法

1、檢查設(shè)置minimumZoomScalemaximumZoomScale;根據(jù)the docs

maximumZoomScale must be greater than minimumZoomScale for zooming to be enabled

因此,將值設(shè)置為相同應(yīng)禁用縮放

-(void)lockZoom
{
    maximumZoomScale = self.scrollView.maximumZoomScale;
    minimumZoomScale = self.scrollView.minimumZoomScale;
self.scrollView.maximumZoomScale = 1.0;
    self.scrollView.minimumZoomScale = 1.0;
}
-(void)unlockZoom
{
self.scrollView.maximumZoomScale = maximumZoomScale;
    self.scrollView.minimumZoomScale = minimumZoomScale;
}

2、您還可以在UIScrollViewDelegate中將“nil”作為縮放視圖返回:

- (UIView *) viewForZoomingInScrollView:(UIScrollView *) scrollView
{
    return canZoom?view:nil;
}

3、如果你只想禁用縮放手勢(shì)縮放,下面的代碼可以解決問(wèn)題

scrollView.pinchGestureRecognizer?.requireGestureRecognizerToFail(scrollView.panGestureRecognizer)

4、如果要禁用用戶縮放手勢(shì)的功能,那么在iOS 5及更高版本中,您可以禁用捏合手勢(shì)。這仍然允許您從代碼控制滾動(dòng)視圖...

scrollView.pinchGestureRecognizer.enabled = NO;

同樣適用

scrollView.panGestureRecognizer.enabled = NO;

必須在- (void)viewDidAppear:(BOOL)animated或更高版本中調(diào)用此方法,否則系統(tǒng)會(huì)將其重置為已啟用。
5、我知道這是一個(gè)非常古老的問(wèn)題,但我的目的略有不同。 我希望能夠輕松判斷是否實(shí)際啟用/禁用了縮放,而不依賴于scrollView.minimumZoomScale == scrollView.maximumZoomScale之間的比較,這可能無(wú)法反映縮放是否實(shí)際啟用/禁用。 所以我這樣做了

// .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配置時(shí)設(shè)置。 這使我能夠設(shè)置/詢問(wèn)是否啟用了縮放。

myViewController.zoomEnabled = YES;
myViewController.isZoomEnabled;

原貼地址:https://oomake.com/question/302778如有侵權(quán),請(qǐng)及時(shí)告知,會(huì)立即刪帖。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、簡(jiǎn)介 <<繼承關(guān)系:UIScrollView --> UIView-->UIResponder-->NSObj...
    無(wú)邪8閱讀 2,081評(píng)論 0 0
  • 1 UIScrollView原理 在滾動(dòng)過(guò)程當(dāng)中,其實(shí)是在修改原點(diǎn)坐標(biāo)。當(dāng)手指觸摸后,scroll view...
    Kevin_Junbaozi閱讀 1,080評(píng)論 0 1
  • 掌握 UIScrollView的常見(jiàn)屬性 UIScrollView的常用代理方法 UIScrollView的縮放 ...
    JonesCxy閱讀 2,876評(píng)論 1 12
  • 在iOS中,滾動(dòng)視圖UIScrollView用于查看大于屏幕的內(nèi)容。Scroll View有兩個(gè)主要目的: 讓用戶...
    pro648閱讀 39,011評(píng)論 4 37
  • *7月8日上午 N:Block :跟一個(gè)函數(shù)塊差不多,會(huì)對(duì)里面所有的內(nèi)容的引用計(jì)數(shù)+1,想要解決就用__block...
    炙冰閱讀 2,733評(píng)論 1 14

友情鏈接更多精彩內(nèi)容