UIView 하위 클래스가 있는데, PopupView를 호출 할 수 있습니다. 이 PopupView 안에는 사용자 정의 uiview와 uibutton이있는 NavigationBar가 있고 (2)이 있습니다. 또한 UIButton (1)이 PopupView 내부에 있습니다. 내가있는 UIButton에 backgroundimages에 대한 capinsets를 사용 아니지만 uibarbuttonitem에 대한 수 있기 때문에프레임 크기 재조정 후 uiviews 버튼의 사용자 동작이 비활성화되었습니다.
PopupView
- UIButton (1)
- UINavigationBar
- UINavigationItem
- UIBarButtonItem
- UIView
- UIButton (2)
uinavigationbar의 crazyness이있는 UIButton의 이유입니다.
내 문제 :
내가 PopupView 애니메이션이 완료된 후 UIView의 애니메이션과 를 사용하여 크기를 조정, 나는이있는 UIView에 더 이상을 버튼을 클릭 드릴 수 없습니다.
[UIView animateWithDuration:0.4f delay:0.0f options:UIViewAnimationCurveEaseOut animations:^{
CGRect popupFrame = self.frame;
popupFrame.size.height += 140.0f;
popupFrame.origin.y = floorf(popupFrame.origin.y - (140.0f/2));
self.frame = popupFrame;
} completion:^(BOOL finished) {
}];
이것은 내가 uiview 애니메이션을 사용하지 않고 새 프레임을 직접 설정하는 경우에도 발생합니다. 또한 그것은 내가 클릭하거나 직접 viewDidLoad
viewController 그것에 크기를 조정할 경우 중요하지 않습니다.
왜 그런가?
앱을 실행하고 버튼이 응답하지 않는 상태로 만듭니다.그런 다음 디버거에서 멈추고 다음 명령을 실행하십시오 :'po [[UIApp keyWindow] recursiveDescription]'. 결과를 복사하여 게시물에 붙여 넣으십시오. –
안녕하세요. https://gist.github.com/d9f7bb875be6590b315a를 참조하십시오. 내가 말하는 PopupView는 GIST의 하단에있는 'MoviePopupView'라고합니다. – choise