1

これが約100万回投稿されていることは知っていますが、私の人生では、このScrollviewを本来の方法で機能させることはできません。私は約4つの異なるチュートリアルに従い、これを修正するために過去2日間を費やしてきました.本当にごめんなさい)。

Scrollview 内に Imageview があり、ズームしたときにズーム可能/スクロール可能にしたい画像が含まれています。

私の WDViewController.h ファイルで:

#import <UIKit/UIKit.h>

@interface WDViewController : UIViewController <UIScrollViewDelegate>
@property (nonatomic, retain) IBOutlet UIScrollView *scrollView;
@property (nonatomic, retain) IBOutlet UIImageView *img_wd;

@end

そして私の WDViewController.m ファイルで:

#import "WDViewController.h"

@implementation WDViewController

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

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.scrollView.minimumZoomScale=0.5;
    self.scrollView.maximumZoomScale=6.0;
    self.scrollView.delegate=self;
    self.scrollView.contentSize=CGSizeMake(1280, 960);
    self.scrollView.scrollEnabled = true;
    self.scrollView.userInteractionEnabled = true;
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

Stack Overflow で他のユーザーに問題を引き起こしていることに気付いたので、Autolayout は無効になっています。ストーリーボードでユーザー インタラクションとマルチタッチが有効になっていることを確認しました。しかし、シミュレーターでアプリを起動すると、そこにとどまります。何度つまんでもズームしません。私はすべてをやったと思っていましたが、何らかの理由で見えていないステップを見逃したに違いありません. 誰か手を貸してくれませんか?

編集: 以下のコメントの後、ここに私が今持っているコードがあります (WDViewController.m の場合、.h は変更されていません):

#import "WDViewController.h"

@implementation WDViewController

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

- (void)viewDidLoad {
     [super viewDidLoad];
    [self.scrollView addSubview:self.img_wd];
     self.img_wd.frame = CGRectMake(0, 0, 1280, 960);
     self.scrollView.minimumZoomScale=0.5;
     self.scrollView.maximumZoomScale=6.0;
     self.scrollView.delegate=self;
    self.scrollView.contentSize=CGSizeMake(1280, 960);
     self.scrollView.scrollEnabled = true;
     self.scrollView.userInteractionEnabled = true;
    }

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

編集:そして、私の電話でテストした後、動作します。うーん...それでは、みんなありがとう。私のシミュレーターはそれを受け入れることを拒否します。奇妙です。

4

3 に答える 3

2

IB で階層を表示:

IB で階層を表示

スクロール ビューをルート ビューにドラッグ アンド ドロップし、スナップしてルート ビュー全体を埋めました。画像ビューをスクロール ビューにドラッグ アンド ドロップし、スナップしてスクロール ビュー全体を埋めました。

IB の画像ビューの属性:

ここに画像の説明を入力

すべてのソース コード:

ここに画像の説明を入力

于 2013-10-28T23:21:30.030 に答える
1

スクロールビューのサブビューに画像ビューを追加しましたか?[self.scrollView addSubView:self.img_wd]

于 2013-10-28T22:29:15.177 に答える