블로그 이미지
내게 능력 주시는 자 안에서 내가 모든것을 할수 있느니라 - 빌립보서 4 : 13 - happydong

카테고리

Happydong (1363)
프로그래밍 (156)
MUSIC (16)
인물 (3)
Utility (10)
세미나 소식&내용 (22)
IT뉴스 (18)
운동 (830)
CAFE (10)
Life (282)
Total
Today
Yesterday

'UIScrollView'에 해당되는 글 1건

  1. 2011.03.03 UIScrollView Delegate 확인



UIScrollView Delegate 메소드를 찾던중 좋은 자료가 있어, 이렇게 퍼왔다^^

출저는 아래와 같다. 


원본글 : http://www.ddandongne.com/ddanhome/zbuilder/?mid=iphone_sdk&search_target=tag&search_keyword=UIScrollView&document_srl=2234





스크린샷 2010-06-15 오후 2.30.31.png 


- 스크롤만 딸랑 실행될때.

2010-06-15 14:34:08.066 ScrollTest[6591:207] 스크롤이 시작전에 scrollViewWillBeginDragging
2010-06-15 14:34:08.066 ScrollTest[6591:207]  스크롤이 발생할때 scrollViewDidScroll
2010-06-15 14:34:08.082 ScrollTest[6591:207]  스크롤이 발생할때 scrollViewDidScroll
2010-06-15 14:34:08.204 ScrollTest[6591:207] 스크롤이 끝났을때 - scrollViewDidEndDragging


- 스크롤후 서서히 멈출때.

2010-06-15 14:35:27.444 ScrollTest[6591:207] 스크롤이 시작전에 scrollViewWillBeginDragging
2010-06-15 14:35:27.445 ScrollTest[6591:207]  스크롤이 발생할때 scrollViewDidScroll
2010-06-15 14:35:27.461 ScrollTest[6591:207]  스크롤이 발생할때 scrollViewDidScroll
2010-06-15 14:35:27.573 ScrollTest[6591:207] 스크롤이 끝났을때 - scrollViewDidEndDragging

2010-06-15 14:35:27.574 ScrollTest[6591:207] scrollViewWillBeginDecelerating
2010-06-15 14:35:27.591 ScrollTest[6591:207]  스크롤이 발생할때 scrollViewDidScroll
2010-06-15 14:35:27.608 ScrollTest[6591:207]  스크롤이 발생할때 scrollViewDidScroll
2010-06-15 14:35:28.975 ScrollTest[6591:207] 스크롤이 끝난후, 서서히 속도가 줄며  스크롤뷰가 완전히 멈췄을때 발생 -scrollViewDidEndDecelerating


- top영역을 누를때

2010-06-15 14:46:10.798 ScrollTest[8583:207] scrollViewShouldScrollToTop
2010-06-15 14:46:10.816 ScrollTest[8583:207]  스크롤이 발생할때 scrollViewDidScroll
2010-06-15 14:46:10.832 ScrollTest[8583:207]  스크롤이 발생할때 scrollViewDidScroll
2010-06-15 14:46:11.100 ScrollTest[8583:207] TOP영역으로 스크롤이 완료 되었을때 실행. scrollViewDidScrollToTop


- 줌인/줌아웃 발생시

2010-06-15 14:42:47.507 ScrollTest[8583:207] zooming 될때 - viewForZoomingInScrollView
2010-06-15 14:42:56.029 ScrollTest[8583:207] zooming 될때 - viewForZoomingInScrollView
2010-06-15 14:42:56.033 ScrollTest[8583:207]  스크롤이 발생할때 scrollViewDidScroll
2010-06-15 14:42:56.054 ScrollTest[8583:207] zooming 될때 - viewForZoomingInScrollView
2010-06-15 14:42:56.055 ScrollTest[8583:207] zooming 될때 - viewForZoomingInScrollView
2010-06-15 14:42:57.842 ScrollTest[8583:207] 줌인/줌아웃이 끝날때 scrollViewDidEndZooming
2010-06-15 14:42:57.842 ScrollTest[8583:207] zooming 될때 - viewForZoomingInScrollView
2010-06-15 14:42:57.843 ScrollTest[8583:207] zooming 될때 - viewForZoomingInScrollView
2010-06-15 14:42:57.844 ScrollTest[8583:207]  스크롤이 발생할때 scrollViewDidScroll


소스

001.#import "ScrollTestViewController.h"
002.#import "testView.h"
003. 
004.@implementation ScrollTestViewController
005. 
006.- (void)loadView
007.{
008.[super loadView];
009. 
010.// 스크롤 생성하기.
011.scrollview            = [[UIScrollView alloc] initWithFrame:self.view.bounds];
012.[self.view addSubview:scrollview];
013.testview            = [[testView alloc] initWithFrame:CGRectMake(0, 0, 500, 500)];
014.[scrollview addSubview:testview];
015.[scrollview setContentSize:testview.frame.size];   
016.[scrollview setDelegate:self];       
017.// top 영역을 눌렀을때 이벤트를 발생시킬것인가? scrollViewShouldScrollToTop메소드가 실행됨
018.scrollview.scrollsToTop    =YES;
019.// 줌처리될때 min, max값.
020.[scrollview setMinimumZoomScale:0.1];   
021.[scrollview setMaximumZoomScale:50];   
022. 
023.// 테스트를 위한 변수 초기화 하기.
024.offset                = CGPointMake(0,0);
025. 
026.[scrollview setZoomScale:2];
027.screenScale        = scrollview.zoomScale;
028.[scrollview setContentOffset : CGPointMake(100, 0) animated:YES];
029.}
030. 
031. 
032. 
033.#pragma mark -
034.#pragma mark UIScrollViewDelegate
035. 
036.// Decelerating이 시작될때.
037.- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView
038.{
039.NSLog(@"scrollViewWillBeginDecelerating");
040.}
041. 
042.// 스크롤이 종료된 후, 서서히 속도가 줄며 스크롤이 완전히 멈췄을때
043.- (void)scrollViewDidEndDecelerating:(UIScrollView *)_scrollView
044.{
045.NSLog(@"스크롤이 끝난후, 서서히 속도가 줄며  스크롤뷰가 완전히 멈췄을때 발생 -scrollViewDidEndDecelerating");
046.offset.x = _scrollView.contentOffset.x/screenScale;
047.offset.y = _scrollView.contentOffset.y/screenScale;
048. 
049.NSLog(@"scrollViewDidEndDecelerating %f, %f ", _scrollView.contentOffset.x, _scrollView.contentOffset.y);
050.NSLog(@"scrollViewDidEndDecelerating offset %f, %f ", offset.x, offset.y);
051.}
052. 
053.// 스크롤이 종료되었을때( 딱, 마우스를 띄었을때)
054.- (void)scrollViewDidEndDragging:(UIScrollView *)_scrollView
055.willDecelerate:(BOOL)decelerate
056.{
057.NSLog(@"스크롤이 끝났을때 - scrollViewDidEndDragging");
058.offset.x = _scrollView.contentOffset.x/screenScale;
059.offset.y = _scrollView.contentOffset.y/screenScale;
060. 
061.NSLog(@"scrollViewDidEndDragging %f, %f ", _scrollView.contentOffset.x, _scrollView.contentOffset.y);
062.NSLog(@"scrollViewDidEndDragging offset %f, %f ", offset.x, offset.y);
063.}
064. 
065. 
066. 
067.// 줌인/줌아웃 처리하기.
068.- (void)scrollViewDidEndZooming:(UIScrollView *)_scrollView
069.withView:(UIView *)view atScale:(float)scale
070.{
071.NSLog(@"줌인/줌아웃이 끝날때 scrollViewDidEndZooming");
072.NSLog(@"scale ----- %f ", scale);
073.[scrollview setZoomScale:scale+0.01 animated:NO];
074.[scrollview setZoomScale:scale animated:NO];
075.screenScale = scale;   
076. 
077. 
078.offset.x = _scrollView.contentOffset.x/screenScale;
079.offset.y = _scrollView.contentOffset.y/screenScale;
080. 
081.//NSLog(@"scrollViewDidEndZooming offset %f %f ", offset.x, offset.y);
082.}
083. 
084.// scrollview setContentOffset :animated : YES에 의해서 스크롤 애니메이션이 끝난 경우 발생
085.// 사용자가 드래그에 의해서 애니메이션이 발생하는 경우 발생하지 않음.
086.- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView
087.{
088.//[scrollview setContentOffset : CGPointMake(100, 0) animated:YES];
089.NSLog(@"scrollview setContentOffset :animated : YES에 의해서 스크롤 애니메이션이 끝난 경우 발생");
090.NSLog(@"scrollViewDidEndScrollingAnimation");
091.}
092. 
093. 
094. 
095. 
096. 
097.// zooming 될때. 스크롤 시키는 뷰를 넘겨줘야 함.
098.- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
099.{
100.NSLog(@"zooming 될때 - viewForZoomingInScrollView");
101.UIView *view = nil;
102.if (scrollView == scrollview) {
103.view = testview;
104.}
105.return view;
106.}
107. 
108.- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView *)view
109.{
110.NSLog(@"## - scrollViewWillBeginZooming");
111.}
112. 
113.//
114.- (void)scrollViewDidScroll:(UIScrollView *)scrollView
115.{
116.NSLog(@" 스크롤이 발생할때 scrollViewDidScroll");
117.}
118. 
119. 
120. 
121.// TOP 영역을 눌렀을때 실행. yes인 경우 자동으로탑영역으로 스크롤 됨.
122.- (BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView
123.{
124.NSLog(@"scrollViewShouldScrollToTop");
125. 
126.return YES;
127.}
128. 
129.// TOP영역으로 스크롤이 완료 되었을때 실행.
130.- (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView
131.{
132.NSLog(@"TOP영역으로 스크롤이 완료 되었을때 실행. scrollViewDidScrollToTop");
133.}
134. 
135. 
136.- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
137.{
138.NSLog(@"스크롤이 시작전에 scrollViewWillBeginDragging");
139.}
140. 
141. 
142. 
143.- (void)dealloc
144.{
145.[super dealloc];
146.}
147.@end

Posted by happydong
, |