2 XIB и 1 viewcontroller, но функции не работают в ipad XIB - PullRequest
0 голосов
/ 02 апреля 2012

Я считаю, что я сделал все необходимое, чтобы сменить приложение на ipad (было для iphone при запуске). Я могу изменить статус сборки на iphone (только), ipad (только) или iphone / ipad - и приложение запускается либо в ipad, либо в симуляторе iphone. Я могу сделать это вперед и назад по желанию.

Я добавил идиому для проверки ipad и в основном для одного из моих xib, вместо того, чтобы использовать строку моего xib для создания контроллера, я использую один для ipad. Так что это новый xib для ipad со всеми теми же графическими объектами (увеличено ;-)). Я добавил обратные вызовы для правильной работы с IB.

Я вижу все отлично и выхожу на свой новый экран ipad, НО, когда я нажимаю на одну из моих кнопок ... ничего не происходило, если мои обратные вызовы не работают. Это очень удивительно, и на самом деле я понятия не имею, где искать, поскольку я сравнил большинство параметров между моим iphone и ipad view, и, насколько я вижу, они идентичны.

Это должно быть что-то чертовски очевидное, так что если у кого-то из вас возникла такая же проблема, и это был очень простой ответ ... Я думаю, это было бы то, что я пропустил!

Заранее спасибо за помощь

Cheers, * 1011 ГБ *

РЕДАКТИРОВАТЬ1: некоторый код по запросу

в начале я должен решить, в любом случае:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
   examTFVC_NIB=@"ExamTFViewController-iPad";
 }
else
{
   examTFVC_NIB=@"ExamTFViewController";
 }

Затем перейти к правильному виду:

    ExamTFViewController *examTFViewController = [[ExamTFViewController alloc]                        
                                                  initWithNibName:globals.examTFVC_NIB bundle:nil];

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

Спасибо за помощь.

EDIT2: Я также понял, что вызов расширения xib xxx ~ ipad позволяет избежать приведенного выше примера кода. И это работает - но все равно ни одна функция не может быть вызвана.

EDIT3: ВАЖНЫЙ НАЙД : если я перемещу свои кнопки выше и в левую часть экрана: они работают! Таким образом, кажется, что функции вызываются, если событие находится в области экрана iphone, хотя я нахожусь на экране ipad. Я думаю, знаю, что было бы более очевидно найти проблему! спасибо за любую помощь - Джиби только сейчас

ОТВЕТ

IPad Touch обнаружен только в регионе 320x480

- (void)applicationDidFinishLaunching:(UIApplication *)application {    

// to correct region size
CGRect rect = [[UIScreen mainScreen] bounds];
[window setFrame:rect]; 

// now, display your app
[window addSubview:rootController.view];
[window makeKeyAndVisible];
}

** ИЛИ ДРУГОЕ РЕШЕНИЕ **

Установите флажок на весь экран при запуске - присутствует только в ipad xib MainWindow

1 Ответ

1 голос
/ 05 апреля 2012

окончательно решено - двумя способами - программно или через IB - в отредактированном разделе поста.

...