iOS 개발 의 UIScrollView 상세 설명

소개:UIScrollView 는 작은 범위 에서 큰 내용 을 표시 하 는 컨트롤 에 사 용 됩 니 다.사용자 가 매 끄 럽 고 손 으로 손짓 을 하 며 이 작은 구역 에서 서로 다른 내용 을 볼 수 있 습 니 다.UITableView 와 UITextView 의 부모 클래스 입 니 다.그것 은 보기 이지 만 비교적 특수 해서 그것 을 2 층 의 구조 로 볼 수 있다.위 는 frame 층 입 니 다.일반적인 시도 와 마찬가지 로 보 이 는 영역 입 니 다.아래 층 은 contentView 로 미 끄 러 질 수 있 습 니 다.
부모 클래스 UIView 방법

// autoresizingMask - , autoLayout
typedef NS_OPTIONS(NSUInteger, UIViewAutoresizing) {
    UIViewAutoresizingNone                 = 0,      //
    UIViewAutoresizingFlexibleLeftMargin   = 1 << 0, // superview ,
    UIViewAutoresizingFlexibleWidth        = 1 << 1, // , superview
    UIViewAutoresizingFlexibleRightMargin  = 1 << 2, // superview ,
    UIViewAutoresizingFlexibleTopMargin    = 1 << 3, // superview ,
    UIViewAutoresizingFlexibleHeight       = 1 << 4, // , superview
    UIViewAutoresizingFlexibleBottomMargin = 1 << 5  // superview ,
};
// transform - 【 - 】
//
CGAffineTransformMakeRotation(CGFloat angle);//
CGAffineTransformMakeScale(CGFloat sx, CGFloat sy);//
CGAffineTransformMakeTranslation(CGFloat tx, CGFloat ty);//
//
CGAffineTransformRotation(CGAffineTransform t, CGFloat angle);//
CGAffineTransformScale(CGAffineTransform t, CGFloat sx, CGFloat sy);//
CGAffineTransformTranslation(CGAffineTransform t, CGFloat tx, CGFloat ty);//

UIScrollView 에서 헷 갈 리 기 쉬 운 속성
contentSize 내용 사이즈
contentInset 내용 테두리 크기
contentOffset 시각 상자 오프셋
contentSize,contentInset,contentOffset 의 차이
UIScrollViewDelegate 에이전트 방법

// , contentOffset ,
- (void)scrollViewDidScroll:(UIScrollView *)scrollView;
//
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView;
//
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView withDecelerate:(BOOL)decelarate;
// ( )
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView;
// , : ,didEndDecelerating
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView;
//
- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView *)view;
//
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale;
//
- (void)scrollViewDidZoom:(UIScrollView *)scrollView;
UIScrollView
scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
scrollView.backgroundColor = [UIColor redColor];
//
scrollView.scrollsToTop = NO;
scrollView.delegate = self;
// 、 、
scrollView.contentSize = CGSizeMake(320, 460*10);
scrollView.contentInset = UIEdgeInsetsMake(0, 50, 50, 0);
scrollView.contentOffset = CGPointMake( 50 , 50 );
//
scrollView.bounces = NO;
//
scrollView.pagingEnabled = YES;
//
scrollView.scrollEnabled = NO;
//
scrollView.indicatorStyle = UIScrollViewIndicatorStyleWhite;
//
scrollView.scrollIndicatorInsets = UIEdgeInsetsMake(0, 50, 0, 0);
//  
scrollView.showsHorizontalScrollIndicator = NO; 
//  
scrollView.showsVerticalScrollIndicator = YES;
// scrollView  
scrollView.maximumZoomScale = 2.0; // 2  
scrollView.minimumZoomScale = 0.5;
// ,lock
scrollView.directionalLockEnabled = YES;
[self.view addSubview:scrollView];

좋은 웹페이지 즐겨찾기