모든 하위 뷰의 배열을 가져와야합니다 UIScrollView
. 지금 사용하고 있습니다
NSArray *subviews = [myScrollView subviews];
그러나 이것은 코드가 실행될 때 볼 수있는 하위 뷰만 반환하는 것 같습니다. UIScrollView의 전체 범위에있는 모든 하위 뷰가 필요합니다. 심지어 현재 숨겨져있는 경우에도 마찬가지입니다. 어떻게 얻을 수 있습니까?
본질적 contentSize
으로 a 의 속성 과 같은 것을 찾고 있는데 UIScrollView
, UIScrollView
모든 콘텐츠를 표시 할 수있을만큼 큰 경우 크기 만 반환하는 대신 콘텐츠 자체를 반환하고 싶습니다.
편집 : 나는 그것을 알아 냈다고 생각합니다 : 이것이 작동하지 않는 스크롤보기는 실제로 UITableView
-화면에서 벗어난 셀을 deque-ing하고 있다고 생각합니다. 그것이 표시되지 않는 이유입니다. 확인을 위해 몇 가지 테스트를 할 것입니다.
tl; dr
그것은 밝혀졌다
NSArray *subviews = [myScrollView subviews];
실제로 UIScrollView *myScrollView
화면에서 벗어난 경우에도의 모든 하위보기를 반환합니다 .
세부 사항
제가 실제로 가지고 있던 문제는 제가 이것을 사용하려고했던 스크롤 뷰가 실제로는 a 였고 UITableView
, UITableViewCell
a UITableView
가 화면에서 사라지면 실제로는에서 제거 UITableView
된다는 subviews
것입니다. 찾고 있던 것은 더 이상 스크롤보기가 아닙니다.
내 해결 방법은 my가 UITableViewCell
호출하는 별도의 메서드에서 모든 s 를 빌드 viewDidLoad
한 다음 모든 셀을 배열에 넣는 것입니다. 그런 다음을 사용하는 대신 subviews
해당 배열을 사용했습니다. 물론 이렇게하면 성능이 약간 cellForRowAtIndexPath
저하 dequeueReusableCellWithIdentifier
되지만 (일반적으로 사용되는 방법 보다 느리게 배열에서 셀을 반환하면 됨 ) 필요한 동작을 얻을 수있는 유일한 방법이었습니다. .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다