Положение UILabel при открытии приложения в iPad - PullRequest
1 голос
/ 11 марта 2011

У меня есть универсальное приложение для iPhone / iPad. В главном меню у меня есть UIImage и UILabel, которые показывают текущие погодные условия на улице; UILabel показывает текущую температуру.

Я использую один и тот же XIB для обеих версий, я сделал всю графику и использую высокое разрешение, чтобы они хорошо масштабировались для iPad.

В версии для iPhone, прямо под UIImage, метка центрирована, что я и хочу. Когда он загружается в iPad, UIImage становится больше, но ярлык остается в том же положении, слева от экрана, не по центру под большим изображением. Я пробовал много разных вещей в IB, чтобы получить его в центре, и я не могу получить это.

Можно ли будет увеличить размер текста при загрузке на iPad?

Вот несколько изображений, чтобы изобразить то, о чем я говорю:

Версия для iPhone: http://img855.imageshack.us/i/iphonei.png/

версия для iPad: http://img163.imageshack.us/i/ipadh.png/

1 Ответ

2 голосов
/ 11 марта 2011

Не уверен насчет проблемы с ярлыком, но для изменения размера текста на iPad создайте функцию для проверки, если вы находитесь на iPad, а затем используйте ее для изменения кода по мере необходимости. Вот функция для выполнения этой работы.

BOOL isIPad()
{
    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad)
    {
        return YES;
    }
    return NO;
}

А потом просто напишите какой-нибудь условный код. Например:

UIButton *infoCircle;

    if (isIPad())
    {
        infoCircle =  [UIButton buttonWithType:UIButtonTypeInfoDark];
    }
    else
    {
        infoCircle =  [UIButton buttonWithType:UIButtonTypeInfoLight];
    }

В вашем случае вы захотите отрегулировать размер шрифта ярлыка примерно так:

if (isIPad())
{
      [[self mainLabel] setFont: [UIFont systemFontOfSize: 18.0]];
}
else
{
      [[self mainLabel] setFont: [UIFont systemFontOfSize: 14.0]];
}

Если Интерфейсный Разработчик доставляет вам горе, вы также можете использовать тот же подход для программного изменения UILabel. Иногда это происходит быстрее, особенно если ваш интерфейс успокоился.

...