일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Xcode
- 해몽
- GCD
- UIView
- swift3
- 아이폰7
- loop
- 공략
- 포켓몬 GO
- afterdelay
- 페이백
- setting
- LG유플러스
- 신도림
- 얻는법
- simulator
- push
- 앱스토어
- Example
- Bitcode
- 샘플
- 포켓볼
- 보라카이
- error
- UITableView
- 신도림 테크노마트
- Check
- swift
- 스마트폰
- IOS
- Today
- Total
도래울
UIScrollview Delegate 종류 본문
- 스크롤만 딸랑 실행될때.
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.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
'개발 > iOS' 카테고리의 다른 글
UITableView에서 header와 footer 사용 하기 (0) | 2016.04.26 |
---|---|
UITableView Section 헤더 고정 방지 (0) | 2016.04.26 |
swift ActionSheet 예제 (0) | 2016.04.21 |
swift UITableView 예제 (0) | 2016.04.21 |
아이튠즈 커넥트 앱 상태 정보 (0) | 2016.04.15 |