2

Я хочу использовать собственное изображение для кнопки Действие в своем приложении. У меня размер изображения 30px X 30px. В моем приложении я использую код:Пользовательский UIBarButtonItem Смещение изображения на панели навигации

UIBarButtonItem *heart = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"[email protected]"] style:UIBarButtonItemStyleDone target:self action:@selector(theactionbutton)]; 
self.navigationItem.rightBarButtonItem = the action; 

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

enter image description here enter image description here

ответ

-1
  1. Создать изображение

    UIImage *image = [UIImage imageNamed:@"image"];

  2. кнопку и установить фоновое изображение и целевое действие Создать.

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; button.frame= CGRectMake(0.0, 0.0, image.size.width, image.size.height); [button setBackgroundImage:image forState:UIControlStateNormal]; [button addTarget:self action:@selector(theactionbutton) forControlEvents:UIControlEventTouchUpInside];

  1. Создание UIView и добавить кнопку в подвид

    UIView *view =[[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, image.size.width, image.size.height) ]; [view addSubview:button];

  2. Создать бар кнопки элемент с настраиваемого представления и установить его в панели навигации правой пункта

    UIBarButtonItem *actionButton = [[UIBarButtonItem alloc] initWithCustomView:view]; self.navigationItem.rightBarButtonItem = actionButton;

Примечание: @ 2x изображение должно быть двойного размера. Если ваш iamgeView имеет 30x30, тогда ваше изображение должно быть 60X60. Если у вас есть изображение 30x30 и имя как @ 2x, оно будет использоваться как 15x15, поэтому сделайте свое изображение двойного размера или используйте его без @ 2x

+0

При условии, что код, который у меня был в моем OP – user717452

+0

Заменить действие @ 2x .png с action.png –

+0

Это переместило его, но также сделало его крошечным. – user717452

Смежные вопросы