2016-02-18 12 views
7

UIScrollViewを使用してズーム画像のデモを行いました。私のViewControllerには1つのイメージしか含まれていません。 問題はイメージがiO7(私はiPhone4S-iOS7でテストしました)でズームできませんが、iOS8/iOS9で完全に動作します。
修正方法に関するご意見はありますか?ここでiOS 7のズームは、AutoLayoutのScrollViewでは機能しませんが、iOS8/9で動作します

は、ここに私のコード

#import "ViewController.h" 

@interface ViewController()<UIScrollViewDelegate> 
@property (weak, nonatomic) IBOutlet UIScrollView *scrollview; 
@property (weak, nonatomic) IBOutlet UIView *contentview; 

@end 

@implementation ViewController 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
     float minimumScale = [_contentview frame].size.width /[_scrollview frame].size.width; 
     _scrollview.maximumZoomScale = 5; //Change as per you need 
     _scrollview.minimumZoomScale = minimumScale; //Change as you need 
     _scrollview.zoomScale = minimumScale; 
     _scrollview.delegate =self; 
     _scrollview.clipsToBounds = YES; 
} 

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

@end 

あるレイアウト構造が

enter image description here

あるScreen.png制約 enter image description here ContentView制約
enter image description hereここで
ScrollView制約 enter image description here

は私のデモプロジェクト

https://drive.google.com/file/d/0B679aXO0SBmMeUVHTUdOcmxJSXM/view

+0

私は画像を返すようにしようとしたが、それはまだまあそれは私ができなかったように、あなたはこのデモプロジェクトを共有することができ、今面白いです – Jageen

+0

で画像を返すようにしてください新しいものを作り出さなければなりません。 –

+0

動作しませviewForZoomingInScrollView – Jageen

答えて

1

高さと幅constraintsは、iOS 7でこれを引き起こしています。回避策は、iOS 7の場合はconstraintsを削除し、minimumScaleを手動で計算することです。 IOS 8以上では、何も変更しないでください。

enter image description here

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    float minimumScale = 1; 

    if (floor(NSFoundationVersionNumber) < NSFoundationVersionNumber_iOS_8_0) { 
     [self.view removeConstraints:self.heightWidthConstraints]; 
     minimumScale = self.scrollview.frame.size.width/self.imageView.image.size.width; 
    } 

    _scrollview.maximumZoomScale = 5; //Change as per you need 
    _scrollview.minimumZoomScale = minimumScale; //Change as you need 
    //_scrollview.zoomScale = minimumScale; 
    _scrollview.delegate = self; 
    //_scrollview.clipsToBounds = YES; 

    [self.scrollview setZoomScale:minimumScale animated:YES]; 
} 
0

enter image description here
contentViewの幅と高さcontraintを削除しています。 contentViewのcentralHorizo​​ntal制約を追加すると、scrollView

私はそれが動作するかどうか教えてください。

+0

私は最近あなたのコードをチェックし、所定のステップごとに更新し、テストして、それが正常に動作していることを確認しました。7 8 9 –

+0

残念ながら遅刻しました。私はあなたの提案を試みますが、それでも動作しません。 –

+0

答えを更新した画像をチェックしてください。もし私がそれを持っていれば私に知らせてください –

関連する問題