2013-07-11 1 views
-8

Я считаю, что я пробовал все другие решения SO по этому вопросу.Проблема с изменением фонового изображения кнопки навигации на панели навигации

Я использую следующий код, чтобы изменить фоновое изображение моей навигационной панели backbutton.

UIImage *image = [UIImage imageNamed:@"standard_bt.png"]; 
     [[UIBarButtonItem appearance] setBackButtonBackgroundImage:image forState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; 

Это делает кнопку выглядеть следующим образом:

enter image description here

Без этот код, он будет выглядеть так:

enter image description here

Теперь, я хотел бы, background image fr om the первая фотография, с подставкой форма второй фото.

Примечание: Я хотел бы, чтобы достичь этой цели без необходимости модифицировать изображение под названием «standard_bt.png»

Как я могу это сделать? Это возможно?

ответ

1

Вы уже поступили правильно.

IOS, SDK не обеспечивает удобный метод, чтобы изменить форму объекта UIImage в соответствии с формой стандартного BackButton в.

Это ответ, ответ: Нет, вы не можете реализовать образную заднюю панель с настройкой без изменения фонового изображения кнопки.

1

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

это, как показано ниже

UIImage *menuImage = [UIImage imageNamed:@"bar.png"]; 
    UIButton *menuButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, menuImage.size.width, menuImage.size.height)]; 
    menuButton.backgroundColor = [UIColor colorWithPatternImage:menuImage]; 
    UIBarButtonItem *customBarButtonItem_left = [[UIBarButtonItem alloc] initWithCustomView:menuButton]; 
    [menuButton addTarget:self action:@selector(CallBack:) forControlEvents:UIControlEventTouchDown]; 
    self.navigationItem.leftBarButtonItem = customBarButtonItem_left;