Вопрос по ipad, uipagecontrol, objective-c – Как использовать UIPageControl с iCarousel?

3

У меня есть несколько изображений в icarousel. (около 20 изображений)

Я хочу 5 изображений на странице.

Нет проблем с пикселем изображения или местоположением изображения.

Как использовать uipagecontrol БЕЗ ScrollView?

ex) возможность использовать некоторые методы делегата .. и так далее.

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

Ваш Ответ

1   ответ
11

В карусели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; а также чтобы избежать мерцания.

Похожие вопросы