Две кнопки, необходимые для навигацииItem.rightBarButtonItem. Изображение не отображается - PullRequest
0 голосов
/ 28 октября 2009

У меня должно быть две кнопки на правой стороне панели навигации. Итак, я создал панель инструментов и добавил два элемента панели кнопок в его представление содержимого. Как ниже.

UIBarButtonItem *shareButton = [[UIBarButtonItem alloc]
                                    initWithImage:[UIImage imageNamed:@"share-icon-32x32.png"]
                                    style:UIBarButtonItemStyleBordered
                                    target:self action:@selector(showShare)];

    shareButton.width = 30.0f;
    [buttons addObject:shareButton];
    [shareButton release];

где кнопки - это массив, содержащий объекты кнопок.

Как и у меня, у меня есть еще один элемент с изображением штанги, как показано ниже

UIBarButtonItem *addButton = [[UIBarButtonItem alloc]
                                      initWithBarButtonSystemItem:UIBarButtonSystemItemAdd
                                      target:self
                                      action:@selector(addDescription)];

        addButton.style = UIBarButtonItemStyleBordered;
        [buttons addObject:addButton];
        [addButton release];

Теперь добавьте массив на панель инструментов, как показано ниже

[toolbar setItems:buttons animated:YES];
    [buttons release];

и добавьте его справаBarButton, как показано ниже

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]
                                              initWithCustomView:toolbar];
    [toolbar release];

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

С уважением,

Сайед Юсуф

1 Ответ

1 голос
/ 28 октября 2009

Из документов на initWithImage:style:target:action::

Альфа-значения в исходном изображении используются для создания изображений - непрозрачные значения игнорироваться.

Это означает, что UIKit использует альфа-канал вашего изображения, а не значения пикселей RGB. Предоставленное вами изображение, вероятно, полностью непрозрачно (не имеет прозрачности) и initWithImage: style: target: action: интерпретирует это как белый квадрат Вы должны сохранить изображение с альфа-каналом, который определяет форму вашего значка.

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