[iOS] 중첩된 뷰의 UserInteractionEnabled
2151 단어 iOS
■개요
xib 파일을 통해 여러 개의 겹쳐진view에 대해 특정view에서만 사용
UserInteractionEnabled
할 때의 해결 방법을 소개합니다.애플리케이션을 만들면 무의식중에 이런 상황에 빠질 수 있어요.
동료가 모르니까 모르는 사람도 있을 것 같아요.
◆환경
Xcode: v6.2
Swift: v1.1
■설치
가령 다음과 같은 관점이 있다.
등급은 아래와 같다.
큰 테두리
View
에는 Button
가 있고 위에는 View
가 겹쳐져 있고 안에는 image
가 놓여 있다.이미지를 표시하고 싶지만 클릭할 때 button이 반응하도록 하려는 것이 이럴 때의 대응법이다.
즉, 아래 그림
button
에만 반응을 일으키고 싶다!이런 상태.1. 먼저 위의 계층 구조의 큰 View의 UserInteraction Enabled를 True로 설정합니다.
큰 View를 선택하여 Xcode 오른쪽 창의 AttributeInspector 내의 빨간 상자에서 확인합니다.
이렇게 하면 큰 프레임워크의view에 접근할 수 있다.
2. Buton보다 상위 뷰의 UserInteraction Ennabled를 가짜로 설정합니다.
위 계층 그림의 회색view를 선택하고 Xcode 오른쪽 창 Attribute Inspector에서 방금 검사한 부분을 검사하면 떼어냅니다.
이렇게 되면 회색view에 대한 상호작용이 효력을 잃게 된다.
회색view
UserInteractionEnabled
가 true
로 바뀌면 사용자가 터치하는 이벤트가 회색view나 파란색 이미지에 반응하여 button에 도착하지 않습니다.※ 이때 블루 이미지
UserInteractionEnabled
는 false
또는 true
일 수 있습니다.회색뷰의 반응이 무효인 이상 그 안에 포함된 파란색 이미지도 전달되지 않기 때문이다.도리에 맞다
true
의 큰 뷰가 false
라면 원래 큰 뷰에 포함된 모든 뷰가 반응을 받지 못한다.3.위의 층도표의 빨간색 butten의 User Interaction Enabled를 진짜로 만들어라.
Xcode 오른쪽 창의 AttributeInspector에서 빨간색 button을 선택하여 다음 빨간색 상자에서 확인합니다.
이렇게 하면 회색view가 겹쳐도 빨간색 button의 상호작용을 할 수 있다.
Reference
이 문제에 관하여([iOS] 중첩된 뷰의 UserInteractionEnabled), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/rc_code/items/f066d7dfa5c5a6da903a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)