2016-09-03 2 views
0

(touchesBegan not called in a UIView subclass) из этой темы расширение.iOS 9.3 touchsBegan/Завершение не запускается в симуляторе

У меня возникла аналогичная проблема с вышеупомянутой связанной дискуссией, спустя годы, пытаясь обновить рабочий (выпущенный) APP с 2009 года до последней версии iOS 9.3. Мне пришлось добавить UIViewController для предотвращения сбоя и получить APP для загрузки в Simulator (XCODE MAC последней версии, iPhone6). Процедура drawView вызывается повторно, чтобы обновить экран, как ожидалось, и все, что отображается на экране, анимировано, как было разработано. Однако NO CLICKS. touchsBegan/Ended никогда не вызываются. Я могу начать загружать код, но интересно, если что-то сразу приходит в голову, так как кажется, что у всех есть эта проблема или что-то в этом роде, в какой-то момент, и это, как правило, очень простое исправление. Спасибо.

Update: Это может быть дополнительный UIViewController баловаться с UIView, но это дополнение между этими версиями APP, что требуется и больше не автоматически не генерируется.

попытался установить UIView в firstResponder:

- (id)initWithCoder:(NSCoder*)coder { 
     if ((self = [super initWithCoder:coder])) { 
      [self setUserInteractionEnabled:YES]; 
      [self setMultipleTouchEnabled:YES]; 
      [self becomeFirstResponder]; 

Это в UIView в (glView) touch'ers:

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { } 
    - (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event { } 
    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 
     int page; [self adjustPage:&page with:0]; 
     ... } 
    - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { 
     int page; [self adjustPage:&page with:0]; 
     ... } 

Это мой взгляд @interface EAGLView : UIView <UIAccelerometerDelegate> {. И добавил этот viewController к делегату, чтобы он не разбился при загрузке.

@implementation OpenGLESAppDelegate 
    @synthesize window; 
    @synthesize glView; 
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
     UIViewController* vc = [[UIViewController alloc]initWithNibName:nil bundle:nil]; 
     self.window.rootViewController = vc; 
     glView.animationInterval = AHZ; 
     [glView startAnimation]; 
     return YES; 
     } 

Отсутствие ошибок компиляции или времени выполнения.

+0

- это правильная работа в реальном устройстве? –

+0

К сожалению, самый ранний телефон, который может быть снабжен XCODE, - iPhone4s, а мой iPhone4. Так что это не узнает. Это симулятор или бюст. –

ответ

0

У меня есть CLICKS !!! Забыл присвоить старый вид новому viewController: vc.view = glView; Теперь мне нужно выяснить подписание кода и его подготовку, чтобы получить его на моем старом телефоне, но это уже другая история.

Смежные вопросы