2

私は一日中スクロールビューを実装しようとしていて、30ものチュートリアル(それほど多くはありませんが十分です)と多くのテキストチュートリアルを後で見ましたが、誰もが異なる方法を持っているため、まだ機能しません...私はここで気が狂います、誰かが助けることができますか?明らかにスクロールビューで動作するコード行は次のとおりです...さらに、私が行った手順は次のとおりです。

私の2番目のコントローラー(View Controller2という名前)を作成し、スクロールビュー(scrollerという名前)をドラッグしてからコーディングを開始しました。

.h:

@interface ViewController2 : UIViewController {

    IBOutlet UIScrollView *scroller;

}
@end

.m:

@implementation ViewController2
{
    [scroller setScrollEnabled:YES];
    [scroller setContentSize:CGSizeMake(320, 600)];
    [super viewDidLoad];
}

@end

次に、スクローラーを属性からUIスクロールビューにドラッグした後、実行しようとすると.mコードに関するエラーが発生しますか? また、View Controller の上部と下部に 2 つのボタンを配置して、実行すると画面が 4 インチから 3.5 インチになるとスクロールするかどうかを確認しました。

4

2 に答える 2

3

これを実行したところ、エラーなしでコンパイルおよび実行されました(ただし、注目すべきことは何もしません)。

.h:

@interface ViewController2 : UIViewController {

    IBOutlet UIScrollView *scroller;

}    

.m:

@implementation ViewController2

- (void)viewDidLoad
{
    [super viewDidLoad];
    scroller = [[UIScrollView alloc] init];
    [scroller setScrollEnabled:YES];
    [scroller setContentSize:CGSizeMake(320, 600)];
}
于 2013-07-10T21:14:37.947 に答える
2

わかりました、これはあなたがすることです。

.h ファイルにデリゲートを追加します。

@interface ViewController2 : UIViewController <UIScrollViewDelegate> {
     IBOutlet UIScrollView *scroller;
}

@property (nonatomic, retain) UIScrollView *scroller;
@end

実装 .m ファイルでは、必ずスクローラーの合成ステートメントを追加してください。

#import "ViewController2.h"

@implementation ViewController2
@synthesize scroller;

次に、viewDidLoad メソッドで次のようにオーバーライドします。

 - (void)viewDidLoad {
        [scroller setScrollEnabled:YES];
    [scroller setContentSize:CGSizeMake(320, 600)];
    scroller.maximumZoomScale = 4.0;
    scroller.minimumZoomScale = 0.75;
    scroller.clipsToBounds = YES;
    //here is the delegate portion below
         scroller.delegate = self;
        [self.view bringSubviewToFront:scroller];
        [super viewDidLoad];
  }

Interface builderで正しく接続することを忘れないでください。スクローラーをコントロールにリンクしてください!

于 2013-07-10T21:12:40.383 に答える