UIScrollView
은 UITextView
및 UIImageView
오브젝트가 이미 추가 된 인터페이스 빌더에 생성되었습니다. 나는 그것이 IBOutlet
에 연결되어 있고 -(void)viewDidLoad
아래에 나는 내용물 크기를 1200x2000
으로 설정했다. 사용자 상호 작용 사용, 멀티 터치, 스크롤링 사용 및 세로 및 가로 스크롤 표시기가 모두 YES
으로 설정되어 있음을 보여줍니다. iOS 시뮬레이터에서 앱을 실행하면 스크롤하지 않습니다. 이 행동의 원인은 무엇일까요?UIScrollView가 스크롤되지 않습니까?
답변
viewDidLoad가 곧 있습니다. 뷰의 레이아웃이 완료 될 때까지 기다려야합니다. viewDidAppear에서 contentSize를 설정해보십시오.
autolayout을 사용하고 있습니까? 그렇다면 다음 답변을 확인하십시오 (그리고 잊지 1.) : UIScrollView doesn't use autolayout constraints.
첫 번째 시도했지만 도움이되지 않았습니다. 나는 다른 답변을 체크 아웃하고 이것을 구현하는이 빠른 코드를 작성했습니다.'- (void) viewDidLoad { // 뷰를로드 한 후 추가 설정을 수행하십시오. _mainScrollView.contentSize = CGSizeMake (4000, 4000); for (int i = 0; i <_mainScrollView.subviews.count; i ++) { UIView * newSubview = [_ mainScrollView.subviews objectAtIndex : i]; newSubview.translatesAutoresizingMaskIntoConstraints = NO; } [super viewDidLoad]; } – 68cherries
@Nenad M : 왜 1 번을 잊어 버리시겠습니까? 순수한 자동 레이아웃 접근법은 여전히'contentSize'를 설정하는 것을 요구합니다. 아마도 당신이 혼합 된 접근법을 취하면 그럴 필요는 없지만 아직 시도하지 않았습니다. – testing
@ timquinn : 비밀은 무엇입니까? 하나의 비밀은 [이 대답] 인 것 같습니다 (http://stackoverflow.com/a/16029013/426227). – testing
내가 코드를 작성하는 의지하지 않고이 문제를 해결하는 방법을 알고 가장 좋은 방법은 모두 스토리 보드 범위 내에서 실시 할 수 있다는 것입니다 여기에 방법입니다
- 남기기 자동 레이아웃이 가능.
- 일반 UIView를 UIScrollView의 하위보기로 만듭니다. 2.1)보기 구성 요소를 모두이 일반 UIView에 배치합니다.
- 하위 뷰와 UIScrollView간에 자동 평면 제한을 설정합니다. 마지막 하위 뷰의 오른쪽 및/또는 아래쪽을 UIScrollView의 오른쪽 및/또는 아래쪽에 고정해야합니다. UIScrollView가 내용 크기를 인식하는 방법입니다.
정말 고마워요! 이것은 iOS 7에서 UIScrollView를 사용하여 작업 한 유일한 방법입니다. Autolayout을 사용하여 가로로 조경하십시오 !!!!!!! :) 위로 엄지! –
실제로 너무 이르지만 viewDidAppear:animated
도 충분히 늦지 않을 수 있습니다. contentOffset
을 설정하는 가장 좋은 장소는 viewDidLayoutSubviews
입니다. 당신이 자동 레이아웃을 사용하는 경우
, 당신은 풀 기능을 새로 고침, 나는이있는 UIScrollView에서 사용자 정의보기를 사용
viewDidLayoutSubviews
내 컨텐츠 크기를 설정하는 코드를 넣어 있는지 확인하고 스크롤 뷰는 아니다 스크롤 가능. 나는 contentSize
을 AutoLayout
으로 설정하고 코드로도 설정해보십시오. 스크롤 뷰는 여전히 스크롤 할 수 없습니다.
3 ~ 4 시간을 소비 한 후 contentInset
으로 해결합니다. 스크롤 뷰는 스크롤을위한 추가 공간을 추가하도록 지시합니다.
override func viewDidLayoutSubviews() {
// Add extra 15pt on the `top` of scrollView.
//self.scrollView.contentInset = UIEdgeInsetsMake(15, 0, 0, 0)
// Add extra 2pt on the `bottom` of scrollView, let it be scrollable. And the UI is more beautiful in my case.
self.scrollView.contentInset = UIEdgeInsetsMake(0, 0, 2, 0)
}
참조 문서는 :
- 1. UIScrollView가 부드럽게 스크롤되지 않습니까?
- 2. 왜 내 UIScrollView가 완전히 스크롤되지 않습니까?
- 3. keypath에 contentSize를 추가하더라도 UIScrollview가 스크롤되지 않습니까?
- 4. UIScrollView가 스크롤되지 않습니다.
- 5. UIScrollView가 uiview로 스크롤되지 않습니다.
- 6. UIScrollview가 스크롤되지 않습니다.
- 7. UIScrollView가 Xcode6에서 스크롤되지 않습니다.
- 8. UIScrollView가 스크롤되지 않습니다.
- 9. UIScrollView가 전혀 스크롤되지 않습니다.
- 10. UITableVIewCell의 UIScrollView가 스크롤되지 않습니다.
- 11. UIScrollView가 스크롤되지 않습니다
- 12. UIScrollVIew가 스크롤되지 않습니다.
- 13. UIScrollView가 스크롤되지 않습니다.
- 14. UITableView 헤더의 UIScrollView가 스크롤되지 않습니다.
- 15. 패널 내에서 UIScrollView가 스크롤되지 않음
- 16. UIScrollView가 모든 방법으로 스크롤되지 않습니다.
- 17. xcode UIScrollview가 부드럽게 스크롤되지 않습니다.
- 18. 왜 UIScrollView가 스크롤하지 않습니까?
- 19. IB 초기화 된 UIScrollView가 스크롤되지 않음
- 20. 사용자 정의 uiscrollview가 스크롤되지 않습니다 (coretext 사용)
- 21. tableView의 tableHeaderView로 설정된 경우 UIScrollView가 스크롤되지 않습니다.
- 22. iOS : Autolayout으로 인해 UIScrollView가 스크롤되지 않습니다.
- 23. 내보기를 추가 할 때 UIScrollView가 스크롤되지 않습니다.
- 24. 자동 레이아웃으로 인해 uiscrollview가 스크롤되지 않음
- 25. UIcollection보기가 스크롤되지 않습니까?
- 26. 컬렉션보기가 스크롤되지 않습니까?
- 27. 배경 이미지가 스크롤되지 않습니까?
- 28. 오버플로 스크롤이 스크롤되지 않습니까?
- 29. UIScrollView가 MFSideMenu 라이브러리에서 작동하지 않습니까?
- 30. containerView 내부 스크롤보기가 스크롤되지 않습니까?
는 초기화 코드를 게시? –
초기화 코드가 없으므로 UIScrollView가 IB에 의해 자동 초기화됩니다. 코드에 따라 scrollView – 68cherries
의 contentSize 속성을 설정하고 UIScrollView 대리자 메서드를 확인하여 UIScrollView가 실제로 터치 이벤트를 얻고 있는지 또는 다른 뷰가 실제로 모든 이벤트를 먹고 있는지 확인합니다.g scrollViewWillBeginDragging : – Dinesh