2012-01-10 3 views
1

일련의 사용자 모달 대화 상자보기가있는 앱이 있습니다. 모달링 사용자가 대화 상자 측면에있는 항목과 상호 작용하지 못하게해야합니다 (예 : 일시 중지 대화 상자가 나타나면 사용자가 버튼을 터치하여 앱을 탐색 할 수 없도록하려는 경우). 그것들을 모달로 만들기 위해서 나는 투명하게 각각의 다이얼로그 뷰를 감추어 트랩하기 위해 UIView을 가지고있다. 이 대화 상자가 사라져 버리는 동안 다이얼로그보기가 사라지는 동안 UIView 애니메이션이 나타나기 만하면됩니다.투명한 UIView에서 손 잡기

내가 말할 수있는 한 UIView의 알파가 1.0이 아닌 경우 터치를 무시한다는 것입니다. UIView의 알파 블렌딩이 터치에 반응하는 방법이 있습니까?

답변

0

알파가 0.0이거나 '숨김'속성이 YES로 설정되어 있지 않으면 UIView는 터치를 무시하지 않습니다. 이 두 설정 모두 UIView를 보이지 않게합니다.

다른 버튼을 표시 할 이유가없는 한 모달보기 컨트롤러를 사용하는 것이 좋습니다. 투명한 뷰가 아닌 각 모달 뷰에 대해 개별 뷰 컨트롤러를 설정합니다. 그런 다음보기 컨트롤러의 'presentModalViewController : animated :'메서드를 사용하여 제어하십시오.

모달 뷰 컨트롤러는 중첩되어 (하나는 다른 것을 호출 할 수 있음) 필요에 따라 둘 이상의 체인을 함께 가질 수 있습니다.

+0

방금 ​​대화 상자에 대해 가지고있는 애니메이션을 재생성하는 테스트 프로젝트를 만들었습니다. 실제로보기가 0 알파에서 터치를 무시하므로 문제가 무엇인지 확실하지 않습니다. 불행히도 그 문제를 해결하지 않지만 내 질문에 대답;) 추신. - 모달 뷰 컨트롤러는 몇 가지 이유로 이러한 대화 상자에서 작동하지 않지만 제안에 감사드립니다. – Mattia

0

대화 상자의 알파에 애니메이션을 적용하고 대화 상자보기가 애니메이션 중에 상호 작용을 지원하게하려면 애니메이션을 만들 때 UIViewAnimationOptionAllowUserInteraction 옵션을 사용해야합니다.

+0

팁 주셔서 감사합니다 - 그 옵션에 대해 몰랐습니다. 그러나 내 문제는 나타나는 동안 사용자가 대화 상자와 상호 작용하기를 바라는 것이 아니라 대화 상자가 나타나는 동안 대화 상자를 제외한 다른 대화 상대와 대화 할 수 없도록하려는 것입니다. – Mattia