git - iOS开发隐藏一个View是直接设置hidden属性,还是将frame设置为0
天蓬老师
天蓬老师 2017-04-17 17:40:45
0
11
1301

这两种方式,效果一样?我指的是性能方面

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

모든 응답(11)
大家讲道理

뷰의 프레임을 수정하거나 상위 뷰에서 뷰를 제거하면 뷰의layoutSubviews 메서드가 직접 호출되고, contentMode가 UIViewContentModeRedraw로 설정된 경우 drawRect 메서드도 호출됩니다. 이때 일부 그리기 및 레이아웃 작업을 수행하기 위해 이 두 가지 방법을 사용자 정의하면 작업을 수행하는 데 CPU와 GPU가 소비됩니다.

따라서 뷰만 숨기고 싶다면 숨겨진 속성을 직접 사용하면 됩니다.

刘奇

숨겨진 설정이 더 일반적입니다.

迷茫

사용자도 마찬가지지만 시스템의 숨겨진 버전이 더 안정적입니다.

黄舟

필요에 따라 [self.xxx RemoveFromSuperview]를 수행할 수 있습니다.

大家讲道理

숨겨진 것이 더 좋습니다

阿神

숨겨진 후에도 여전히 자리를 차지해야 하며, 그에 따른 제약도 존재합니다

大家讲道理

하위 뷰가 있는 경우 숨김을 사용하거나 상위 뷰에서 제거

Peter_Zhu

일반적인 상황에서는 숨김을 사용하는 것이 좋지만, 변경해야 하는 제약이 있거나 레이아웃 하위 뷰가 필요한 경우 프레임을 제거하거나 변경하는 것이 좋습니다.

Peter_Zhu

숨기고 싶으면 숨김으로 설정하세요. 그렇지 않으면 숨겨진 이름이 바로 숨김으로 번역되므로 아무것도 할 필요가 없습니다~

伊谢尔伦

일반적으로 원래 프레임을 변경할 필요가 없으므로 숨김이 더 안정적입니다. 다시 표시해야 할 경우 속성을 직접 수정하면 됩니다. 매번 프레임을 변경하면 속도가 느려질 뿐만 아니라 원래 컨트롤도 수정됩니다. 제약 조건의 경우 프레임을 변경하면 다시 제약할 필요가 없습니다. 그렇지 않으면 제약 조건을 제거해야 합니다. 각 상황을 살펴보겠습니다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿