3

私はicarousel内にいくつかの画像を持っています。(約20枚)

1 ページに 5 枚の画像が必要です。

画像のピクセルや画像の位置に問題はありません。

ScrollViewなしでuipagecontrolを使用するには?

例)いくつかのデリゲートメソッドを使用できる..など。

carousel.type = iCarouselTypeLinear;
    carousel  = [[iCarousel alloc] initWithFrame:CGRectMake(0, 504, 1024, 164)];
    carousel.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"10004.png"]];
    carousel.delegate = self;
    carousel.dataSource = self;
    [self.view addSubview:carousel];
    [carousel reloadData];
    [carousel release];

    UIView *bandImageView = [[UIView alloc] initWithFrame:CGRectMake(0, 668, 1024, 20)];
    bandImageView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"10001.png"]];
    [self.view addSubview:bandImageView]; // page dots in

    UIPageControl *pageControl = [[UIPageControl alloc] init];
    pageControl.frame = CGRectMake(434, 0, 150, 20); 
    pageControl.numberOfPages = 6; 
    pageControl.currentPage = 0; 
    [bandImageView addSubview:pageControl];
    [pageControl release];
4

1 に答える 1

11

iCarouselcarouselCurrentItemIndexUpdated:デリゲートメソッドで、

pageControl.currentPage = carousel.currentItemIndex / 5

次に、pageControlアクションを次のようなメソッドにバインドします。

- (IBAction)updatePage:(UIPageControl *)pageControl
{
    [carousel scrollToItemAtIndex:pageControl.currentPage * 5 aimated:YES];
}

nibファイルを使用していない場合は、次を使用してアクションをバインドできます。

[pageControl addTarget:self action:@selector(updatePage:) forControlEvents:UIControlEventValueChanged];

pageControl.defersCurrentPageDisplay = YES;ちらつきを避けるためにも設定することをお勧めします。

于 2012-04-06T09:25:39.273 に答える