Advertise Mobile SDKs Books Events Forum News Social Networking Support Us
Follow @iphonedevsdk on Twitter

Mockup & CodeGen, iPhone & iPad
($9.99)

Make your own iPhone apps
and run them live!
(free)

Manu
($0.99)

Want your application or service advertised on iPhone Dev SDK?

Go Back   iPhone Dev SDK Forum

View Single Post
Old 09-27-2009, 06:06 PM   #24 (permalink)
anuragphadke
Registered Member
 
Join Date: Jul 2009
Posts: 9
Default

scott,
I followed your suggestions, but the touchesBegan, touchesEnded etc. is still unable to receive anything. Here's the code:
Code:
#import "PageScrollView.h"
@implementation PageScrollView


-(id)initWithFrame:(CGRect)frame : (int)showPage {
    self = [ super initWithFrame: frame ];
    if (self != nil) {
        _pages = nil;
        _pageRegion = CGRectMake(0.0, 0.0, 320.0,420.0);

        _controlRegion = CGRectMake(0.0, 420.0,320.0, 0.0);
		
        self.delegate = nil;
		
        scrollView = [ [ UIScrollView alloc ] initWithFrame: _pageRegion ];
		scrollView.pagingEnabled = YES;
		scrollView.clipsToBounds = YES;
		scrollView.userInteractionEnabled = YES;
		scrollView.scrollEnabled = YES;
		scrollView.delaysContentTouches = NO;
		scrollView.canCancelContentTouches = YES;
		scrollView.directionalLockEnabled = YES;
		scrollView.delegate = self;
		scrollView.minimumZoomScale = 1.0;
		scrollView.maximumZoomScale = 5.0;
        [ self addSubview: scrollView ];
		
        pageControl = [ [ UIPageControl alloc ] initWithFrame: _controlRegion ];
        [ pageControl addTarget: self action: @selector(pageControlDidChange:)
			   forControlEvents: UIControlEventValueChanged ];
		

		[ self addSubview: pageControl ];
		
		[ scrollView setContentOffset:
		 CGPointMake(_pageRegion.size.width * showPage, scrollView.contentOffset.y)
							 animated: YES
		 ];
		pageControl.currentPage = showPage;

    } else {
		pageControl.currentPage = showPage;
	}
    return self;
}

-(void)myPage:(int) myPage {
	NSLog(@"MY PAGE: %d", myPage);
}

-(void)setPages:(NSMutableArray *)pages {
    if (_pages != nil) {
        for(int i=0;i<[_pages count];i++) {
            [ [ _pages objectAtIndex: i ] removeFromSuperview ];
        }
    }
    _pages = pages;

    scrollView.contentOffset = CGPointMake(0.0, 0.0);
	scrollView.contentSize = CGSizeMake(_pageRegion.size.width * [ _pages count ], 0.0);
	scrollView.backgroundColor = [UIColor darkGrayColor];
	scrollView.showsHorizontalScrollIndicator = NO;
	scrollView.alwaysBounceVertical = NO;
	scrollView.delaysContentTouches = NO;
	scrollView.canCancelContentTouches = YES;
	
	pageControl.numberOfPages = [ _pages count ];
    pageControl.currentPage = 0;

	
    [ self layoutViews ];
}

- (void)layoutViews {
    for(int i=0;i<[ _pages count];i++) {
        UIView *page = [ _pages objectAtIndex: i ];
		page.backgroundColor = [UIColor darkGrayColor];
        CGRect bounds = page.bounds;
        CGRect frame = CGRectMake(_pageRegion.size.width * i, 0.0,
								  320,400);
        page.frame = frame;
        page.bounds = bounds;
        [ scrollView addSubview: page ];
    }
}

-(id)getDelegate {
    return _delegate;
}

- (void)setDelegate:(id)delegate {
    _delegate = delegate;
}

-(NSMutableArray *)getPages {
    return _pages;
}

-(void)setCurrentPage:(int)page {
    [ scrollView setContentOffset:
	 CGPointMake(_pageRegion.size.width * page, scrollView.contentOffset.y)
						 animated: YES
	 ];
    pageControl.currentPage = page;
}

-(int)getCurrentPage {
    return (int) (scrollView.contentOffset.x / _pageRegion.size.width);
}

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
    pageControl.currentPage = self.currentPage;
    [ self notifyPageChange ];
}

-(void) pageControlDidChange: (id)sender
{
    UIPageControl *control = (UIPageControl *) sender;
    if (control == pageControl) {
        self.currentPage = control.currentPage;
    }
    [ self notifyPageChange ];
}

-(void) notifyPageChange {
    if (self.delegate != nil) {
        if ([ _delegate conformsToProtocol:@protocol(PageScrollViewDelegate) ]) {
            if ([ _delegate respondsToSelector:
				 @selector(pageScrollViewDidChangeCurrentPage:currentPage:) ])
            {
                [ self.delegate pageScrollViewDidChangeCurrentPage:
		
				 (PageScrollView *)self currentPage: self.currentPage
				 ];
            }
        }
    }
}

-(BOOL)touchesShouldCancelInContentView:(UIView *) view {
	return YES;
}
- (BOOL)touchesShouldBegin:(NSSet *)touches withEvent:(UIEvent *)event inContentView:(UIView *)view {
	return NO;
}
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
	NSLog(@"touch moved");
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
	scrollView.delaysContentTouches = NO;
	scrollView.canCancelContentTouches = YES;
	NSLog(@"touch begin");
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
	NSLog(@"touch end");
}

/*
 http://www.codingventures.com/2008/12/using-uiwebview-to-render-svg-files/
*/

-(void)myNavControllerHide {
	[[self.delegate navigationController] setNavigationBarHidden:YES animated:YES];

}

@end

Kindly let me know where I am going wrong..... Thanks
anuragphadke is offline   Reply With Quote
 

» Advertisements
» Online Users: 537
15 members and 522 guests
chrisedjohn, Dani77, gogoman, Gudus, HemiMG, JasonR, mer10, Oral B, Phi, poisenden, RickSDK, skrew88, spiderguy84, Touchmint, ziocleto
Most users ever online was 1,187, 10-11-2011 at 08:09 AM.
» Stats
Members: 158,749
Threads: 89,202
Posts: 380,573
Top Poster: BrianSlick (7,129)
Welcome to our newest member, edinburgh1
Powered by vBadvanced CMPS v3.1.0

All times are GMT -5. The time now is 07:33 PM.
Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.