وهناك مشكلة مع UINavigationController تجاوز
-
22-07-2019 - |
سؤال
والآن أنا أعمل مع cocos2d وأنا تصميم لإضافة navigationcontroller لتطبيق cocos2d بلدي، ولذا فإنني إضافة navigationcontroller لطلبي عندما كنت فوق ذلك لا يمر اللمس أو الحدث لcocos2d
والآن أنا في محاولة لتجاوز UINavigationController بواسطة إضافة اسم جديد فئة جديدة هي NavigationController وترث من UINavigationController
وفي الحرف الأول أسميه [سوبر تهيئة]. كل الأشياء تبدو تكون على ما يرام
ولكن عندما أحاول إضافة
- (BOOL)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
NSLog(@"Im overriding touch");
return YES;
}
- (BOOL)ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
NSLog(@"Im overriding touchMove");
return YES;
}
وأنه لا ندعو
المحلول
وماذا استدعاء ccTouchesBegan:withEvent:
الأساليب وccTouchesMoved:withEvent:
بدلا من الأسماء الأصلية؟ لم يكن لديك لتغيير أسماء الطرق عند فئة فرعية UINavigationController. بدلا من ذلك، يجب أن تبقي نفس الأسماء، وندعو super
عليها وكذلك عند الاقتضاء. على سبيل المثال:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
NSLog(@"I'm overriding touch");
[super touchesBegan:touches withEvent:event];
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
NSLog(@"I'm overriding move");
[super touchesMoved:touches withEvent:event];
}
لا تنتمي إلى StackOverflow