누군가 UIScrollView
인스턴스의 contentInset 속성이 사용 된 이유를 설명 할 수 있습니까? 어쩌면 예를 들어 주시겠습니까?UIScrollView contentInset 속성은 무엇입니까?
답변
내용보기와 둘러싸는 스크롤보기 사이에 삽입 간격을 설정합니다. aScrollView.contentInset = UIEdgeInsetsMake(0, 0, 0, 7.0);
여기에 유익한 스크린 샷 (그림 1-3)가 좋은 iOS Reference Library article on scroll views입니다 - 내가 여기에 텍스트를 통해 그것을 복제 할 수 있습니다 :
_|←_cW_→_|_↓_
| |
---------------
|content| ↑
↑ |content| contentInset.top
cH |content|
↓ |content| contentInset.bottom
|content| ↓
---------------
_|_______|___
↑
(cH = contentSize.height; cW = contentSize.width)
스크롤 뷰 콘텐츠 뷰를 둘러싸 플러스 어떤 패딩이 제공됩니다 지정된 컨텐츠 삽입에 의해
위대한 질문입니다.
은 (scroller
이있는 UIScrollView입니다) 다음과 같은 예를 생각해
float offset = 1000;
[super viewDidLoad];
for (int i=0;i<500; i++) {
UILabel *label = [[[UILabel alloc] initWithFrame:CGRectMake(i * 100, 50, 95, 100)] autorelease];
[label setText:[NSString stringWithFormat:@"label %d",i]];
[self.scroller addSubview:label];
[self.scroller setContentSize:CGSizeMake(self.view.frame.size.width * 2 + offset, 0)];
[self.scroller setContentInset:UIEdgeInsetsMake(0, -offset, 0, 0)];
}
인 세트가 원하는 내용의 "창"을 가지고 스크롤 기능을 강제 할 수있는 유일한 방법입니다. 이 샘플 코드는 여전히 엉망이지만 생각은 거기에 있습니다. 삽입을 사용하여 UIScrollView
에 "창"을 가져옵니다.
jball의 대답은 콘텐츠 삽입물에 대한 훌륭한 설명이지만 사용시기에 대한 대답은 아닙니다.
_|←_cW_→_|_↓_
| |
---------------
|content| ↑
↑ |content| contentInset.top
cH |content|
↓ |content| contentInset.bottom
|content| ↓
---------------
|content|
-------------↑-
는 당신이 그것을 할 때 무엇을 얻을,하지만 그것의 유용성은 당신이 스크롤 할 때이다 : 나는 그의 다이어그램에서 빌릴 수 있습니다 내용의 맨 윗줄은 여전히있을 것
_|←_cW_→_|_↓_
|content| ← content is still visible
---------------
|content| ↑
↑ |content| contentInset.top
cH |content|
↓ |content| contentInset.bottom
|content| ↓
---------------
_|_______|___
↑
그건 여전히 스크롤보기의 프레임 안에 있기 때문에 표시됩니다. 상단 오프셋을 생각하는 한 가지 방법은 "스크롤 할 때 스크롤 뷰 아래로 내용을 얼마나 이동하여 상단으로 스크롤 할 수 있습니까?"입니다.
실제로 사용되는 곳을 보려면 빌드 아이폰의 사진 응용 프로그램. 탐색 표시 줄과 상태 표시 줄은 투명하며 스크롤보기의 내용은 아래에 표시됩니다. 스크롤 뷰의 프레임이 멀리 떨어져 있기 때문입니다. 그러나 콘텐츠 삽입물이 아닌 경우에는 맨 위로 이동할 때 투명 탐색 모음을 지우지 않아도됩니다.
콘텐츠 삽입물은 사용자 인터페이스의 다른 부분 아래로 이동하면서도 여전히 스크롤 막대를 사용하여 도달 할 수있는 콘텐츠가있는 문제를 해결합니다. 즉, 내용 삽입의 목적은 상호 작용 영역을 실제 영역보다 작게 만드는 것입니다. 우리는 화면의 세 가지 논리적 인 영역이 어디
는 경우를 생각해TOP BUTTONS
TEXT
BOTTOM TAB BAR
을 우리는 텍스트가 TOP BUTTONS 아래에 투명하게 표시되지 않습니다 싶어하지만 우리는 텍스트가 BOTTOM 탭 표시 줄 아래에 표시 할 그리고 여전히 스크롤링을 허용하여 BOTTOM TAB BAR 아래에 투명하게 앉아있는 텍스트를 업데이트 할 수 있습니다.
그런 다음 상단 원점을 TOP 버튼 아래에 놓고 높이는 하단 탭 막대의 하단을 포함하도록 설정합니다. BOTTOM TAB BAR 내용 아래에있는 텍스트에 액세스하려면 하단 탭을 BOTTOM TAB BAR의 높이로 설정합니다.
삽입자가 없으면 스크롤러는 내용을 입력 할만큼 스크롤 할 수 없게됩니다. 인세 트로, 내용물에 내용물 크기의 여분의 "BLANK CONTENT"가있는 것처럼 보입니다. 빈 텍스트는 실제 "컨텐트"에 "삽입"되어 있습니다. 이것이 컨셉을 기억하는 방법입니다.
contentInset
없이 UIScrollView
에 패딩을 추가하는 데 사용, 테이블 뷰는 다음과 같이이다 : 효과는 다음과 같습니다
tableView.contentInset = UIEdgeInsets(top: 20, left: 0, bottom: 0, right: 0)
:
그런 다음 contentInset
설정 :
더 낫 겠지?
blog을 작성하여 contentInset
을 연구하면 비판을 환영합니다.
- 1. UIScrollView
- 2. UIScrollView 내 UIScrollView 내부의 UIScrollView
- 3. .NET Control.Margin 속성은 무엇입니까?
- 4. MXML의 필수 속성은 무엇입니까?
- 5. JS의 확장 속성은 무엇입니까?
- 6. C++/CLI의 속성은 무엇입니까?
- 7. [OptionalField] 속성은 무엇입니까?
- 8. ThemeInfo 속성은 무엇입니까?
- 9. UIScrollView 내의 UIScrollView
- 10. UIScrollView 내부의 UIButton, UIScrollview 내부
- 11. NAnt에 보존 된 속성은 무엇입니까?
- 12. silverlight/wpf의 종속 속성은 무엇입니까
- 13. 런타임 성능에 도움이되는 속성은 무엇입니까?
- 14. XML 직렬화를위한 KnownType 속성은 무엇입니까?
- 15. 사용자 클래스의 ou 속성은 무엇입니까
- 16. IB의 디자인 타임 속성은 무엇입니까?
- 17. UIScrollView overlaying
- 18. 설정 속성은
- 19. 필수 속성은
- 20. 읽기 속성은
- 21. InternalsVisibleTo 속성은
- 22. CSS 속성은,
- 23. CSS 속성은
- 24. 바인딩 속성은
- 25. 언어 속성은
- 26. 중첩있는 UIScrollView 안에있는 UIScrollView 코코아 터치
- 27. 왜 파이썬 속성은
- 28. UIScrollview 만들기
- 29. iPhone + UIScrollView
- 30. UIScrollView 알림
그러면 UIScrollView에 패딩을 추가하는 데 사용됩니까? 그렇지 않으면 실용적인 예를 들어 줄 수 있습니다. 내 문제는 구현하는 방법이 아니라 구현시기입니다. – ForeignerBR
예, 스크롤보기 내부에 내용을 채 웁니다. CSS의'padding' 속성과 비슷합니다. –
이것에 피기 백 죄송합니다, 나는 그것의 자신의 질문을 이동할 수 있지만, 이것을 기반으로 contentHeight 이외의 각 contentInset 값을 0으로 설정하면 실제로 어떻게됩니까? 스크롤바 전체를 강제로 높이로 설정합니까? – jakev