iCulture forum | iPhone, iPad,  iPod touch, Apple TV en iOS

iCulture forum | iPhone, iPad, iPod touch, Apple TV en iOS (https://forum.iculture.nl/)
-   Ontwikkelen voor iOS (https://forum.iculture.nl/f133/development/f58/ontwikkelen-voor-ios/)
-   -   PageControl gaat niet mee? (https://forum.iculture.nl/f133/development/f58/ontwikkelen-voor-ios/86982-pagecontrol-gaat-niet-mee.html)

iMidas 17-03-11 21:15

PageControl gaat niet mee?
 
Hallo,
Ik ben bezig met PageControl (en Yep, samen met Jeroen0704, vandaar dat de code hetzelfde is;))
Alleen gaan de kleine "dots" niet mee:(
Iemand een idee?

Groeten Midas,

Ik weet alleen niet hoe het met die code haakjes werkt sorry,

- (void)setupPages {

scrollview.delegate = self;

[self.scrollview setBackgroundColor:[UIColor clearColor]];
[scrollview setCanCancelContentTouches:NO];

scrollview.indicatorStyle = UIScrollViewIndicatorStyleWhite;
scrollview.clipsToBounds = YES;
scrollview.scrollEnabled = YES;
scrollview.pagingEnabled = YES;

NSUInteger nimages = 0;
CGFloat cx = 0;
for (; ; nimages++) {
NSString *imageName = [NSString stringWithFormat:@"fotos%d.png", (nimages + 1)];
UIImage *image = [UIImage imageNamed:imageName];
if (image == nil) {
break;
}
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];

CGRect rect = imageView.frame;
rect.size.height = image.size.height;
rect.size.width = image.size.width;
rect.origin.x = ((scrollview.frame.size.width - image.size.width) / 2) + cx;

rect.origin.y = ((scrollview.frame.size.height - image.size.height) / 2);

imageView.frame = rect;

[scrollview addSubview:imageView];
[imageView release];

cx += scrollview.frame.size.width;
}

self.pagecontrol.numberOfPages = nimages;
[scrollview setContentSize:CGSizeMake(cx, [scrollview bounds].size.height)];
}

- (void)scrollviewDidScroll:(UIScrollView *)_scrollView
{

if (pagecontrolIsChangingPage) {
return;
}

CGFloat pageWidth = _scrollView.frame.size.width ;
int page = floor((_scrollView.contentOffset.x - pageWidth / 2) / pageWidth) + 1;
pagecontrol.currentPage = page;
}

- (void)scrollviewDidEndDecelerating:(UIScrollView *)_scrollView
{
pagecontrolIsChangingPage = NO;
}

- (IBAction)changepage:(id)sender
{

CGRect frame = scrollview.frame;
frame.origin.x = frame.size.width * pagecontrol.currentPage;
frame.origin.y = 0;

[scrollview scrollRectToVisible:frame animated:YES];

pagecontrolIsChangingPage = YES;
}

wubbe 18-03-11 10:05

Citaat:

Oorspronkelijk geplaatst door iMidas (Bericht 652674)
Ik weet alleen niet hoe het met die code haakjes

Dat is ook erg ingewikkeld :d

Code:

- (void)setupPages {
   
    scrollview.delegate = self;
   
    [self.scrollview setBackgroundColor:[UIColor clearColor]];
    [scrollview setCanCancelContentTouches:NO];
   
    scrollview.indicatorStyle = UIScrollViewIndicatorStyleWhite;
    scrollview.clipsToBounds = YES;
    scrollview.scrollEnabled = YES;
    scrollview.pagingEnabled = YES;
   
    NSUInteger nimages = 0;
    CGFloat cx = 0;
    for (; ; nimages++) {
        NSString *imageName = [NSString stringWithFormat:@"fotos%d.png", (nimages + 1)];
        UIImage *image = [UIImage imageNamed:imageName];
        if (image == nil) {
            break;
        }
        UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
       
        CGRect rect = imageView.frame;
        rect.size.height = image.size.height;
        rect.size.width = image.size.width;
        rect.origin.x = ((scrollview.frame.size.width - image.size.width) / 2) + cx;
       
        rect.origin.y = ((scrollview.frame.size.height - image.size.height) / 2);
       
        imageView.frame = rect;
       
        [scrollview addSubview:imageView];
        [imageView release];
       
        cx += scrollview.frame.size.width;
    }
   
    self.pagecontrol.numberOfPages = nimages;
    [scrollview setContentSize:CGSizeMake(cx, [scrollview bounds].size.height)];
}

- (void)scrollviewDidScroll:(UIScrollView *)_scrollView
{
   
    if (pagecontrolIsChangingPage) {
        return;
    }
   
    CGFloat pageWidth = _scrollView.frame.size.width ;
    int page = floor((_scrollView.contentOffset.x - pageWidth / 2) / pageWidth) + 1;
    pagecontrol.currentPage = page;
}

- (void)scrollviewDidEndDecelerating:(UIScrollView *)_scrollView
{
    pagecontrolIsChangingPage = NO;
}

- (IBAction)changepage:(id)sender
{
   
    CGRect frame = scrollview.frame;
    frame.origin.x = frame.size.width * pagecontrol.currentPage;
    frame.origin.y = 0;
   
    [scrollview scrollRectToVisible:frame animated:YES];
   
    pagecontrolIsChangingPage = YES;
}


Nikooos 18-03-11 13:46

Wat bedoel je trouwens met 'meegaan'? Wil je op elke pagina een nieuwe lijst met puntjes?

wubbe 18-03-11 15:43

Als je naar de volgende pagina 'swiped' dan moet de pageControl (het puntje) een plaats opschuiven. Er zijn genoeg voorbeelden te vinden die dat ondersteunen.

iMidas 18-03-11 21:49

Okee Thx:D

Nikooos 19-03-11 00:54

Laat maar weten of je het maandag al opgelost hebt. Heb op mijn werk nog wel een voorbeeldje liggen als je het dan nog nodig hebt.

Maar volgens mij is het ook wel goed te vinden op het net.


Alle tijden zijn GMT +2. Het is nu 11:46.