약 UIScrollView
에 대한 간단한 몇 가지 질문을 이해하는 데 어려움을 겪고 있습니다.UIScrollView에 대한 몇 가지 질문
왜 우리는
UIScrollView
의contentSize
아닌 경계를 증가합니까? 실제로, 나는 경계와contentSize
가하는 무슨을 이해하지 않는다.pagingEnabled
을 YES로 설정하면 scrollView가 스크롤을 중지 할 위치를 어떻게 알 수 있습니까?페이지 간 간격을 내
UIScrollView
에 추가하고 싶습니다.
- (void)viewDidLoad { [super viewDidLoad]; NSArray *colors = [NSArray arrayWithObjects:[UIColor redColor], [UIColor greenColor], [UIColor blueColor], nil]; #define kGutterWidth 20 UIScrollView *scrollView = self.scrollView; CGRect scrollViewFrame = scrollView.frame; scrollViewFrame.size.width += kGutterWidth; scrollView.frame = scrollViewFrame; CGSize scrollViewSize = scrollView.bounds.size; for (int i = 0; i < colors.count; i++) { CGRect frame = CGRectMake(scrollViewSize.width * i, 0, scrollViewSize.width - kGutterWidth, scrollViewSize.height); UIView *subview = [[UIView alloc] initWithFrame:frame]; subview.backgroundColor = [colors objectAtIndex:i]; [scrollView addSubview:subview]; [subview release]; } scrollView.contentSize = CGSizeMake( colors.count * scrollViewSize.width, scrollViewSize.height); }
코드의 소스 : How to create a paging scrollView with space between views
이 코드 작품 (pagingEnabled = YES
) 롭 mayoff가 쓴, 나는 인터넷에서 검색하고 다음 코드 발견 적절하게, 그러나 그것이 그것을 이해하지 않는 한 그것은 중요하지 않습니다.
나는 결국 페이지가 원래 크기로로드 할 것이라는 점을 알고있다, 그러나 나는 각 페이지가 kGutterWidth으로 제외되기 때문에이 일어날 않는 방법을 이해하지 않습니다.
rob은 왜 scrollView의 프레임을 kGutterWidth로 증가 시켰습니까?
좋아요,이 질문은 바보 같은 소리가 들릴 수도 있지만 실제로 이해가 가지 않습니다. 코드에서 Rob은
scrollView
이라는 새 scrollView 객체를 만들었습니다. 값은self.scrollView
값과 같습니다. 글쎄, 나는scrollView
, 영향self.scrollView
, 다른 개체가 있기 때문에 어떻게 변경 이해할 수 없습니다. 그들의 메모리 주소는 다릅니다.
저는 오랜 시간 동안 이러한 질문을 이해하기 위해 애 쓰고 있습니다. 오늘은 여기에 쓰기로했습니다.
감사합니다.
1. 경계에 자체 좌표계가 있고 scrollView와 관련하여 왜 경계가 너비가 아닌가? contentSize의 폭과 같은가? –
2. 계산은 프레임의 너비 또는 경계의 너비를 기반으로합니까? (또는 그것들은 똑같습니까?) –
'contentSize'는 안에있는 것과 관련이 있습니다. 반면에 'width'는 여러분이 볼 수있는 것과 관련이 있습니다 ... 한 쌍의 쌍안경을 넣으십시오. 여러분이 보는 것은'view'입니다. , 세계는'contentSize'입니다. 쌍안경을 돌릴 수있는 능력은 스크롤링입니다 ... 나의 예를 이해할 수 있습니까? – Peres