Monday 15 August 2011

Movie Player'da Pinch Engelleme

Bir durumda movie player içinde pinch (iki parmakla küçültüp büyütme) özelliğini engellemem gerekiyordu. Movie player'ımı tanımlama şeklimden dolayı, kullanıcı tarafından scaling mode değiştiği zaman movie player benim tanımladığım boyuta büyüyordu. Fakat, kullanıcı "pinch" yaptığı zaman, benim dinlediğim "MPMoviePlayerScalingModeDidChangeNotification" olan observer beklediğim gibi davranmıyordu. O nedenle pinch özelliğini engellemem gerekti.

Bunun için, movie player'ın içinde olduğu view controller içinde touchesBegan delege metodunu implement ettim.

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
for (UITouch *touch in touches) {
NSArray *array = touch.gestureRecognizers;
for (UIGestureRecognizer *gesture in array) {
if (gesture.enabled && [gesture isMemberOfClass:[UIPinchGestureRecognizer class]]) {
gesture.enabled = NO;
}
}
}
}


Bu metod içinde, UITouch class instance'ı içindeki tüm UIGestureRecognizer objelerinde iterate ediyorum ve ilgili gesture UIPinchGestureRecognizer türünde mi diye kontrol ediyorum. Eğer öyleyse, gesture'u engelliyorum. Benim işimi gördü.

No comments: