6 berichten aan het bekijken - 1 tot 6 (van in totaal 6)
  • Q:
    Bijdrager
    Nando Bennis

    Hoe maak je een scrollview met pagecontrol waar de achtergrond niet beweegt?

    Hoe maak je een scrollview met pagecontrol waar de achtergrond niet beweegt? (IOS SDK). En waar ik wel content in kan plaatsen zoals UIButtons? Weet iemand het antwoord?

    Bijdrager
    Jakko Westerbeke

    Ik heb geen ervaring met iOS-programmeren, maar kun je de achtergrond van de scrollview niet transparant maken en er een imageview achter zetten?

    Bijdrager
    Nando Bennis

    Ja dat heb ik ook maar ik wil dat de content in de scrollview beweegt en de imageview niet.

    Bijdrager
    Jakko Westerbeke

    Het lijkt erop dat één van ons niet begrijpt wat de ander bedoelt:) Mijn suggestie is om de image niet in de scrollview te zetten, maar erachter, als je tenminste de scrollview een transparante achtergrond kunt geven (dat weet ik niet).

    Bijdrager
    bitsflew

    UIImage *img = [UIImage imageNamed:@”backgroundimage.png”];
    [scrollView setBackgroundColor:[UIColor colorWithPatternImage:img]];

    Bijdrager
    Nando Bennis

    Ik heb nu dit en het werkt!

    .m:

    <br />
    //<br />
    //  SlideShow.m<br />
    //  RPApp<br />
    //<br />
    //  Created by Nando Bennis on 20-10-11.<br />
    //  Copyright (c) 2011 __MyCompanyName__. All rights reserved.<br />
    //</p>
    <p>#import "SlideShow.h"</p>
    <p>@implementation SlideShow</p>
    <p>@synthesize pageControl;<br />
    @synthesize scrollView;</p>
    <p>- (void)viewDidLoad {</p>
    <p>	[self setupPage];</p>
    <p>    [super viewDidLoad];<br />
    }</p>
    <p>- (void)setupPage<br />
    {</p>
    <p>	scrollView.delegate = self;</p>
    <p>	[self.scrollView setBackgroundColor:[UIColor clearColor]];<br />
    	[scrollView setCanCancelContentTouches:NO];</p>
    <p>	scrollView.indicatorStyle = UIScrollViewIndicatorStyleWhite;<br />
    	scrollView.clipsToBounds = YES;<br />
    	scrollView.scrollEnabled = YES;<br />
    	scrollView.pagingEnabled = YES;</p>
    <p>	NSUInteger nimages = 0;<br />
    	CGFloat cx = 0;<br />
    	for (; ; nimages++) {<br />
    		NSString *imageName = [NSString stringWithFormat:@"how%d.png", (nimages + 1)];<br />
    		UIImage *image = [UIImage imageNamed:imageName];<br />
    		if (image == nil) {<br />
    			break;<br />
    		}<br />
    		UIImageView *imageView = [[UIImageView alloc] initWithImage:image];</p>
    <p>		CGRect rect = imageView.frame;<br />
    		rect.size.height = image.size.height;<br />
    		rect.size.width = image.size.width;<br />
    		rect.origin.x = ((scrollView.frame.size.width - image.size.width) / 2) + cx;<br />
    		rect.origin.y = ((scrollView.frame.size.height - image.size.height) / 2);</p>
    <p>		imageView.frame = rect;</p>
    <p>		[scrollView addSubview:imageView];<br />
    		[imageView release];</p>
    <p>		cx += scrollView.frame.size.width;<br />
    	}</p>
    <p>	self.pageControl.numberOfPages = nimages;<br />
    	[scrollView setContentSize:CGSizeMake(cx, [scrollView bounds].size.height)];<br />
    }</p>
    <p>- (void)scrollViewDidScroll:(UIScrollView *)_scrollView<br />
    {<br />
        if (pageControlIsChangingPage) {<br />
            return;<br />
        }</p>
    <p>    CGFloat pageWidth = _scrollView.frame.size.width;<br />
        int page = floor((_scrollView.contentOffset.x - pageWidth / 2) / pageWidth) + 1;<br />
        pageControl.currentPage = page;<br />
    }</p>
    <p>- (void)scrollViewDidEndDecelerating:(UIScrollView *)_scrollView<br />
    {<br />
        pageControlIsChangingPage = NO;<br />
    }</p>
    <p>- (void)dealloc<br />
    {<br />
        [super dealloc];<br />
        [scrollView release];<br />
    	[pageControl release];<br />
    }</p>
    <p>- (void)didReceiveMemoryWarning<br />
    {<br />
        // Releases the view if it doesn't have a superview.<br />
        [super didReceiveMemoryWarning];</p>
    <p>    // Release any cached data, images, etc that aren't in use.<br />
    }</p>
    <p>#pragma mark - View lifecycle</p>
    <p>- (void)viewDidUnload<br />
    {<br />
        [super viewDidUnload];<br />
    	self.scrollView = nil;<br />
    	self.pageControl = nil;<br />
    }</p>
    <p>- (IBAction)changePage:(id)sender<br />
    {</p>
    <p>    CGRect frame = scrollView.frame;<br />
        frame.origin.x = frame.size.width * pageControl.currentPage;<br />
        frame.origin.y = 0;</p>
    <p>    [scrollView scrollRectToVisible:frame animated:YES];</p>
    <p>    pageControlIsChangingPage = YES;<br />
    }</p>
    <p>- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil<br />
    {<br />
        self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];<br />
        if (self) {<br />
            // Custom initialization<br />
        }<br />
        return self;<br />
    }</p>
    <p>#pragma mark - View lifecycle</p>
    <p>- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation<br />
    {<br />
        // Return YES for supported orientations<br />
        return (interfaceOrientation == UIInterfaceOrientationPortrait);<br />
    }</p>
    <p>@end</p>
    <p>

    .h:

    <br />
    //<br />
    //  SlideShow.h<br />
    //  RPApp<br />
    //<br />
    //  Created by Nando Bennis on 20-10-11.<br />
    //  Copyright (c) 2011 __MyCompanyName__. All rights reserved.<br />
    //</p>
    <p>#import <UIKit/UIKit.h></p>
    <p>@interface SlideShow : UIViewController <UIScrollViewDelegate> {</p>
    <p>    IBOutlet UIScrollView *scrollView;<br />
    	IBOutlet UIPageControl *pageControl;</p>
    <p>	BOOL pageControlIsChangingPage;</p>
    <p>}<br />
    @property (nonatomic, retain) UIScrollView *scrollView;<br />
    @property (nonatomic, retain) UIPageControl *pageControl;</p>
    <p>- (IBAction)changePage:(id)sender;</p>
    <p>- (void)setupPage;</p>
    <p>@end</p>
    <p>

    Ik heb dan de afbeeldingen: how1, how2, how3

6 berichten aan het bekijken - 1 tot 6 (van in totaal 6)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.