찾다

 >  Q&A  >  본문

git - iOS开发隐藏一个View是直接设置hidden属性,还是将frame设置为0

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

天蓬老师天蓬老师2772일 전1296

모든 응답(11)나는 대답할 것이다

  • 天蓬老师

    天蓬老师2017-04-17 17:42:45

    이건 직접 봐야 알 것 같아요. 히든은 ​​참으로 편리한데, 오늘 써보니 컨트롤이 쉽지 않다는 걸 느꼈습니다. 상위 뷰에 대한 뷰, 이전에 추가한 경우 아래에 있으므로 확실히 클릭할 수 없으므로 위의 뷰를 클릭해야 할 때 사라지지만 그 자체에 버튼이 있습니다. 그리고 이벤트 응답도 필요하므로 전혀 클릭할 수 없습니다. 물론 위의 레이어로 만들 수는 있지만 시도해 보지는 않았지만 사용할 수 있다는 것을 알 수 있습니다. 프레임은 위에서 만들지만, 실용성은 아래에 숨어있습니다,

    이 상황은 BaseViewcontroller가 사용되기 때문입니다(ViewCointroller를 상속하고 스택을 용이하게 하기 위해 마이크로 UInavigationViewcontroller를 추가함). , 이 뷰인 viewWillAppear에 MoreView를 만듭니다. 자, 필요한 것은 MoreBtn을 클릭하면 한 번의 클릭으로 MoreView가 나타나는 것입니다. 다시 클릭하면 MoreView가 사라지고 다른 곳을 클릭하면 MoreView도 사라지게 됩니다. 처음에는 매우 간단하다고 생각했습니다. touchBegin을 사용하면 괜찮을 것 같지만 실제로는 상위 뷰의 뷰만 응답할 수 있습니다. 탐색 모음을 제외한 현재 viewController는 tableView입니다. BaseViewcontroller를 상속한 후에는 응답할 것이라고 생각하지 마세요. 클릭할 때마다 클릭 이벤트를 추가해야 합니다. 숨김을 사용하면 프레임만 설정할 수 있습니다.

    원래 차이점을 찾아보고 싶었는데 제목 보자마자 논의하러 왔어요.

    =================
    죄송합니다. 이전에 잘못된 답변을 드린 것이 프레임의 원인이 아니었음을 나중에 알게 되었습니다. 터치 방식을 택한 이유는 그 뷰도 self.view에 속하기 때문에 터치 방식에서 사라지기를 원할 경우 클릭하면 사라지게 되기 때문에 CGpoint를 사용한다고 명시했습니다. 내비게이션 바 범위에 포함되면 클릭 범위가 사라집니다. 정말 어리석은 방법입니다. 또 다른 좋은 방법이 있으면 다시 연구해 봅시다. 실제로 숨겨진 기능과 프레임 기능을 사용할 수 있습니다. 어쩌면 우리가 탐구해야 할 다른 것이 있을 수도 있습니다! 어서

    회신하다
    0
  • 취소회신하다