2013-05-10 4 views
1

У меня есть класс EAGLView основы, который выполняет следующий код, когда выбор меню сделана в OpenGL:GKPeerPickerController пустые при вызове в EAGLView

-(void) startPicker 
{ 
    self.gameState = kStatePicker; 
    GKPeerPickerController *picker = [[GKPeerPickerController alloc] init]; 
    picker.delegate = self; 
    picker.connectionTypesMask = GKPeerPickerConnectionTypeNearby; 
    [picker show]; 
} 

По неизвестной причине выбора является пустым округлым прямоугольником когда он появляется, без видимого интерфейса или указаний.

Если я запускаю его в конце моей функции init, он работает. После этого он запускается отлично из меню. Я попытался разместить код в startPicker внутри отправки главной очереди, но это, похоже, не помогает. Я попытался запустить сборщик с и без ARC, но это не имеет никакого значения. Этот код более или менее непосредственно взят из примера GKTank, который Apple предоставила некоторое время назад, чтобы представить платформу bluetooth для GameKit.

Может ли кто-нибудь сказать мне, почему это может произойти, и каково возможное решение?

+0

Не могли бы вы попытаться называть этот метод в основном потоке: [self performSelectorOnMainThread: @selector (startPicker)] и посмотреть, устраняет ли это проблему. –

+0

Я попытался: [self performSelectorOnMainThread: @selector (startPicker) withObject: self waitUntilDone: YES]; и проблема все еще существует. – LotusCloud

ответ

0

Просто следуйте за. Я обнаружил в контроллере представления, который содержит это представление, что был вызван [UIView setAnimations: NO]; Это запрещает правильному отображению GKPeerPickerController.

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