Создание универсальной сборки для приложения для iphone с xcode 4.51

У меня был старый проект, который использует XIB для каждого UIViewControler. Это было предназначено для I Phone, но теперь я хочу сделать этот проект с универсальной сборкой, для Iphone в качестве стены, как IPad. Проблема в том, что когда я изменил тип сборки на Универсальное и используемое кодирование типа

if(UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad)
    {
 // ipad coordinates
    }
else
{
 //iphone coordinates
}

на iphone и ipad это правильно, но на ipad кнопки не принимают события нажатия на всю кнопку, а только на небольшую часть кнопки. Хотя я не загружаю Nib, но он принимает встроенный файл iphone xib внутри, и я думаю, что это почему поведение кнопок не соответствует представлению ipad. Я не совсем понимаю, что мне делать? Как сделать копию XIB для Ipad и загрузить ее в зависимости от устройства. Здесь стоит упомянуть, что я не загружаю ни одного пера из моего кода, но он вызывается изнутри. Пожалуйста помоги

1 ответ

За universal приложение, которое вы можете сделать 2 XIB
1 -> yourView_iPhone
2 -> yourView_iPad

И загрузить каждый xib в соответствии с вашим idiom

if(UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad)
{
    yourView  *obj = [[yourView alloc]initWithNibName:@"yourView_iPad " bundle:nil];

    // ipad coordinates
}
else
{
    yourView  *obj = [[yourView alloc]initWithNibName:@"yourView_iPhone " bundle:nil];

    //iphone coordinates
}
Другие вопросы по тегам