UIView
안에 UIButton
을 생성 중입니다. UIView
으로 전환을 적용하면 에있는 myButton_TouchUpInside
터치 이벤트가 중지됩니다. 누구든지 조언 할 수 있습니까? (내가 여기 자 마린을 사용하고 ) 지연된 애니메이션이 시작된 후 UIButton의 터치 이벤트가 중지됩니다.
UIView myView = new UIView()
{
BackgroundColor = UIColor.Black,
RestorationIdentifier = identifier,
UserInteractionEnabled = true,
ClipsToBounds = true
};
UIButton myButton = new UIButton()
{
BackgroundColor = UIColor.Red,
UserInteractionEnabled = true
};
myButton.TouchUpInside += myButton_TouchUpInside;
myButton.SizeToFit();
myButton.Frame = new CGRect(0, 10, myButton.Bounds.Width, myButton.Bounds.Height);
myView.AddSubview(myButton);
View.AddSubview(myView);
클릭 이벤트 화재 (는 편집 참조). 나는 그들이 전환이 발생한 후에는 작동이 중지 전환을 추가하면, 나는 그들이 전환에 남아있다 가정 :
var myNewFrame = new CGRect(0, 50, myButton.Frame.Width, myButton.Frame.Height);
UIView.Transition(myView, 0.5, UIViewAnimationOptions.CurveEaseIn,() => { myView.Frame = myNewFrame; }, null);
나는 UIButton
의 Frame
여기에 열쇠라고 읽었습니다. Frame
을 UIView
에 추가 한 다음 UIView.Transition
에있는 Action
(위 코드에 표시되지 않음)을 추가 한 후 다시 확인한 결과 크기와 위치는 완전히 동일합니다.
편집 그것은 문제를 일으키는 전환하지
그 (후 X 초는 페이드 아웃 후 UIView
슬라이드를) 다음과 애니메이션. 전환 코드를 직접 따라 가면 다음 코드가 표시됩니다.
UIView.Animate(0.25, 10, UIViewAnimationOptions.CurveEaseInOut,() => { myView.Alpha = 0; },() => { myView.RemoveFromSuperview(); });
이 코드를 제거하면 작동합니다.