1

スクロールしたときにスクロールビューにある画像を検出するのを手伝ってください。

- (void)viewDidLoad
{
    [super viewDidLoad];
NSArray *colors = [[NSArray alloc] initWithObjects:@"ip1.jpg", @"ip2.jpg", @"ip3.jpg", @"ip4.jpg", @"ip5.jpg", @"ip6.jpg", @"ip7.jpg", @"ip8.jpg", @"ip9.jpg", @"ip10.jpg",@"ip11.jpg",@"ip12.jpg",@"ip13.jpg",@"ip14.jpg",@"ip15.jpg",@"ip16.jpg",@"ip17.jpg",@"ip18.jpg",@"ip19.jpg",@"ip20.jpg",@"ip21.jpg", nil];

    NSMutableArray *imgArray = [[NSMutableArray alloc] init];
    UIImageView *tempImageView;
    for(NSString *name in colors) {
        tempImageView = [[UIImageView alloc] init];
        tempImageView.contentMode = UIViewContentModeScaleAspectFill;
        tempImageView.image = [UIImage imageNamed:name];
        [imgArray addObject:tempImageView];

    }

    CGSize pageSize = scrollView.frame.size; // scrollView is an IBOutlet for our UIScrollView
    NSUInteger page = 0;
    for(prevView in imgArray) {

        [scrollView addSubview:prevView];


        // This is the important line
        prevView.frame = CGRectMake(pageSize.width * page++ + 30, 0, pageSize.width - 60, pageSize.height);
 }   




    scrollView.contentSize = CGSizeMake(pageSize.width * [imgArray count], pageSize.height);

}



- (void)scrollViewDidScroll:(UIScrollView *)sender {
    if (!pageControlBeingUsed) {
        // Switch the indicator when more than 50% of the previous/next page is visible
        CGFloat pageWidth = self.scrollView.frame.size.width;
        int page = floor((self.scrollView.contentOffset.x - pageWidth / 2) / pageWidth) + 1;
        self.pageControl.currentPage = page;



    }
}

お願い助けて。slog を使用して CurrentPage を表示すると、「117892」のように表示されます。「色」NSArray から現在の画像を表示する NSLog が必要です。どうもありがとう

4

1 に答える 1

1

これを試してください。「ページ」変数をグローバルとして宣言してから、コードに示されているように渡すことができます。

NSLog(@"%@",[colors objectAtIndex:page]);
于 2012-12-08T09:11:00.050 に答える