문제

큰 프로젝트를로드 할 때 매우 느리게로드하는 GUI 속도를 높이려고 노력하고 있습니다 (GUI는 그룹과 하위 그룹의 표현이며 많은 견해로 구성됩니다). 이 과정에서 나는 특정 코드 세그먼트가 실행하는 데 걸리는 시간을보고 있었고 AddSubview에 대한 호출은 대부분 10 ~ 20 밀리 초 사이를 취하고 있음을 발견했습니다. 내가보고 있던 서브 뷰는 공개 버튼입니다. 이 방법이 본질적으로 느려지거나 여기에서 일하는 다른 요인이 있는지 궁금합니다. 하위 뷰를 추가하는 데 걸리는 시간이 하위 뷰의 복잡성에 따라 다릅니 까? 또한 더 빠를 수있는 하위 뷰를 추가하는 데 사용할 수있는 다른 방법이 있습니까?

도움이 되었습니까?

해결책

당신은 -setsubviews를 시도 할 수 있습니다 : 그것은 일련의 하위 뷰를 가져옵니다. 이것은 더 빠를 수 있습니다.

그렇지 않으면 -adddsubview : 및 -addsubview : 위치 : RelativeTo : 하위 뷰를 삽입하는 유일한 방법입니다.

그래도 궁금합니다. 왜 단일 하위 뷰에서 10-20ms가 느려지 는가? 추가하려는 하위 뷰는 몇 개입니까?

NSCELL을 사용하여 더 빠를 수있는 대체 디자인이있을 수 있지만, 성취하려는 내용에 대한 자세한 내용은 알기가 어렵습니다.

다른 팁

View 계층 구조를 재정렬하는 것은 일반적으로 자주하는 것이 아닙니다. 하위 뷰를 추가하고 제거하는 대신 숨기고 숨길 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top