كيف يمكن ل Uicontrol المغطاة أو UIView معرفة حدث باللمس الذي انتهى أعلاه؟

StackOverflow https://stackoverflow.com/questions/1311909

سؤال

لدي Uicontrol (أو Uiview، لا يهم) وهذا مغطى من قبل Uicontrol آخر. يتفاعل Uicontrol الآخر بشكل جيد على أحداث اللمس. ومع ذلك، فإن Uicontrol الأساسي تحتاج أيضا إلى معرفة اللمس وإذا كان في الواقع "على ذلك" أم لا من وجهة نظر المستخدم. تغطية Uicontrol شفافة جزئيا.

كيف يمكنني التقاط هذه اللمس على Uicontrol الأساسي؟

هل كانت مفيدة؟

المحلول

أعتقد أن هناك طرق زوجين يمكنك الذهاب حول هذا ...

يمكنك تمرير حدث اللمس إلى عنصر التحكم الآخر ... على الرغم من أنني لا أعتقد أنه سيعمل إذا كنت تقوم بنقل الرؤية العليا فوق العرض الآخر؟ قد تضطر إلى التجربة.

قد تكون الطريقة الأسهل لمعرفة ما إذا كان المستقيم السفلي يحتوي على نقطة اللمس:

-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent*)event {
    UITouch *touch = [[event allTouches] anyObject];
    CGPoint touchLocation = [touch locationInView:self];
    if (CGRectContainsPoint(lowerView.frame, touchLocation)) {
        <doyourthing>
}

أنا لا أتذكر دفئا ولكن قد تحتاج إلى تحويل إحداثيات الرأي بين وجهتين؟!؟ أو يمكنك أن تطلب رؤية نفسها - (BOOL) PointinSide: (CGPOINT) نقطة WithentEvent: (UIEVENT *) الحدث

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top