Почему эта кнопка на панели черная и нечеткая? - PullRequest
1 голос
/ 08 марта 2012

Я пытаюсь установить tintColor метода UIBarButtonItem in, который вызывается при запуске моей программы.Я настроил все свои взгляды, используя раскадровки.Затем я настраиваю внешний вид представлений, используя новые рекомендации iOS5 по использованию прокси-серверов внешнего вида.Я настроил фон панели навигации, выполнив следующие действия:

- (void)customizeAppearance
{
    UIImage *leatherTexture = [[UIImage imageNamed:@"BrownLeather@2x.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];

    [[UINavigationBar appearance] setBackgroundImage:leatherTexture
                                       forBarMetrics:UIBarMetricsDefault];
    [[UINavigationBar appearance] setBackgroundImage:leatherTexture
                                       forBarMetrics:UIBarMetricsLandscapePhone];

    [[UIBarButtonItem appearance] setTintColor:[UIColor clearColor]];
}

Я надеялся, что установив очистку UIBarButtonItem tintColor, можно легко использовать стили кнопок по умолчанию, покас пользовательской текстурой фона.Тем не менее, установка tintColor для очистки просто превращает кнопку в черный, а не в прозрачную или прозрачную.Есть идеи, что я делаю не так?Есть ли способ создать кнопку очистки без использования пользовательских изображений для кнопок?Смотрите изображение ниже:

bar

Ответы [ 2 ]

1 голос
/ 30 октября 2012

Только что обнаружил, что в Xcode 4.5 вы можете просто перетащить UIButton в UIBarButton в раскадровке.Тогда UIB-кнопка полностью настраивается.

1 голос
/ 08 марта 2012

Вы не можете сделать это таким образом (потому что IMO фон по умолчанию UIBarButtonItem черный. И новый цвет оттенка имеет слишком много слоев).

Однако вы можете настроить UIBarButtonItem с помощьюиспользуя UIButton (с фоном) в качестве customView в UIBarButtonItem.

Или, если вы ориентируетесь только на iOS 5, вы можете использовать коричневый оттенок (который будет плоским и не будет отображать фоновое изображение)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...