Универсальное развитие iOS - использование знака Тильды (~) в Xib файле и имени изображения для дифференциации

При разработке universal apps мы должны написать conditional code для каждого device - iPad, а также iPhone. В этом случае правильное использование tilde может быть чрезвычайно полезным.

Например, если вы хотите нажать новый контроллер просмотра, тогда вам нужно написать много строк (почти 10) кода:

if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone)
{
  MasterViewController *masterViewController = [[MasterViewController alloc] initWithNibName:@"MasterViewController_iphone" bundle:nil];
 [self.navigationController pushViewController:masterViewController animated:YES];
 [masterViewController release];
}
else
{
  MasterViewController *masterViewController = [[MasterViewController alloc] initWithNibName:@"MasterViewController_ipad" bundle:nil];
  [self.navigationController pushViewController:masterViewController animated:YES];
  [masterViewController release];
}

Как мы можем отличать изображения для iphone и ipad?

Ответ 1

Для отличия XIB файла для iPhone и iPad:

Волшебный ~ поможет вам. Вы можете использовать его, чтобы различать файлы iPhone и iPad/ xib.

Ваш файл должен заканчиваться на ~iphone.xib или ~ipad.xib.

Примечание: не использует iPad или iPhone.

Убедитесь, что в каждом файле xib подключены все розетки и установлен правильный файл. Если некоторые из них отсутствуют, iOS может решить не использовать их и вместо этого использовать файлы iPhone.

Для различения изображений для iphone и ipad

Модификаторы, специфичные для платформы. Используйте модификаторы ~ iphone или ~ ipad, чтобы указать изображения, предназначенные для определенного размера устройства.

Официальный документ InfoPlistKeyReference