2012-04-06 52 views
3

我在icarousel內有一些圖像。 (約20張圖片)如何在iCarousel上使用UIPageControl?

我想在一個頁面中顯示5張圖片。

圖像像素或圖像位置沒有問題。

如何使用uipagecontrol沒有ScrollView?

ex)能夠使用一些委託方法..等等。

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]; 

回答

10

在iCarousel carouselCurrentItemIndexUpdated:委託方法,設置

pageControl.currentPage = carousel.currentItemIndex/5 

那麼你的PageControl動作綁定到類似下面的方法:

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

如果你不使用筆尖文件,你可以使用綁定動作

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

設置pageControl.defersCurrentPageDisplay = YES;以避免閃爍是個好主意。