0

私はiPhone開発の初心者で、練習用のシンプルなアプリを使っています。そのアプリでは、画像が表示されているビューは1つだけです。左または右にスワイプして、最初の画像を表示から外し、2番目の画像を表示できるようにしたい。画像が異なり、接続されているように見せたい。画像を変更したり、一連のスワイプ後に再起動したりできるようにする必要があります。私はこれをScrollViewのみを使用して行っています。

私は何かを試しました:

ViewController.h

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController <UIScrollViewDelegate>
{
    UIImageView *imgView;
    UIScrollView *scrollView;
}

@property (nonatomic,retain)IBOutlet UIImageView *imgView;
@property (nonatomic, retain) IBOutlet UIScrollView *scrollView;

//- (id)initWithPageNumber:(int)page;
- (IBAction)changePage:(id)sender;

@end

ViewController.m

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

@synthesize imgView,scrollView;

- (void)viewDidLoad
{
    [super viewDidLoad];

}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
/*
- (id)initWithPageNumber:(int)page{
    if (self = [super initWithNibName:@"MyView" bundle:nil])
    {
        pageNumber = page;
    }
    return self;
}
*/



- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollview
{
    scrollView.contentOffset = CGPointMake(scrollview.bounds.size.width, 0);
}

- (IBAction)changePage:(id)sender
{

    NSArray *images = [[NSArray alloc] initWithObjects:@"1.jpeg",@"2.jpeg",@"3.jpeg", nil];
    scrollView = [[UIScrollView alloc] initWithFrame:self.view.bounds];
    [self.view addSubview:scrollView];
    CGRect cRect = scrollView.bounds;

    for (int i = 0; i < images.count; i++){
        imgView = [images objectAtIndex:i];
        imgView.frame = cRect;
        [scrollView addSubview:imgView];
        cRect.origin.x += cRect.size.width;
    }

    scrollView.contentSize = CGSizeMake(scrollView.frame.size.width * images.count, scrollView.bounds.size.height);
    scrollView.contentOffset = CGPointMake(scrollView.bounds.size.width, 0);

}

@end

アプリを実行しても、画像をスワイプできません。私は何か間違ったことをしていますか?これに関するガイダンスが必要です。ありがとう..

4

2 に答える 2

1

このエラーは、ViewControllerIBOutletクラスに存在しないとの接続がInterfaceBuilderにあることを示しています。

IBOutletsの名前が正しく、IB内の廃止された接続がすべて削除されていることを確認してください。

于 2012-10-24T07:30:26.210 に答える
0

scrollView.ContentSize =(scrollView.frame.size.width * images.count

、scrollView.frame.size.height)

ロッピングした後にこれを行うと、スワイプされます

于 2012-10-24T07:45:39.540 に答える