2015-10-27 2 views
1

the screen shot of my projectКак отменить UIBarbuttonItem SETTITLE эффект блеска

Как и изображение показывает, я использовал UIBarbuttonItem как rightBarButtonItem, что я хочу сделать, это просто изменить название rightBarButton, когда я выбрать изображение или отменить изображение, поэтому я использовал код как это:

[self.rightBarButton setTitle:[NSString stringWithFormat:@"完成(%@/%@)",@(_selectedAssets.count),@(self.maxPicturesNum)]]; 

но barbutton покажет голень, когда его текст изменился, я пытаюсь использовать UIButton вместо UIBarButtonItem, и голень эффект исчезает, действительно, но UIButton будет близок к правым границам далека, вы можете мне помочь?

thr screen shot of my project with UIButton

+0

Попробуйте установить заголовок кнопки, просто получив доступ к свойству title: –

+0

, но я могу изменить название barbuttonitem, будет сияющая анимация, и мне не нужен эффект. – gavinHe

ответ

0

Вы можете создать UIButton и назначить его на rightBarButton

UIButton *rightButton = [[UIButton alloc] initWithFrame:someFrame]; 
[rightButton setBackgroundImage:someImage forState:UIControlStateNormal]; 
[rightButton addTarget:self action:@selector(back:) forControlEvents:UIControlEventTouchUpInside]; 
rightButton.titleLabel.text = [NSString stringWithFormat:@"完成(%@/%@)",@(_selectedAssets.count),@(self.maxPicturesNum)]; 
rightButton.titleLabel.font = someFont; 
UIBarButtonItem *rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:rightButton]; 
self.rightBarButton = rightBarButtonItem; 

И при обновлении использования rightButton.titleLabel.text

этикетки для настройки этикетки используйте:

- (void)setTitlePositionAdjustment:(UIOffset)adjustment 
       forBarMetrics:(UIBarMetrics)barMetrics 
+0

Не следует ли использовать UIButton * rightButton = [UIButton buttonWithType: UIButtonTypeCustom]? – gavinHe

+0

, и я использовал метод setTitlePositionAdjustment, но я не вижу никакого эффекта, есть ли что-то, что я делаю неправильно? – gavinHe

+0

@ gavinHe Да вы можете использовать buttonWithType: UIButtonTypeCustom тоже. Можете ли вы показать мне, как вы использовали «setTitlePositionAdjustment»? – RoHaN

0

И наконец, мне это нравится:

- (void)loadRightButtonItem{ 
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 
button.frame = CGRectMake(30, 0, 120, 40); 
button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentRight; 
[button setTitle:@"完成(0/9)" forState:UIControlStateNormal]; 
button.tintColor = [UIColor whiteColor]; 
[button setTitleShadowColor:[UIColor whiteColor] forState:UIControlStateHighlighted]; 
// [button setTitleColor:[self.buttonFolder titleColorForState:UIControlStateHighlighted] forState:UIControlStateHighlighted]; 
[button addTarget:self action:@selector(onFinishClicked:) forControlEvents:UIControlEventTouchUpInside]; 

UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 135, 40)]; 
UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:view]; 

[view addSubview:button]; 
self.navigationItem.rightBarButtonItem = item; 
_rightBarButton = button; 
} 

Отменить эффект голени.

благодаря @ RoHaN, ваша идея вдохновила меня.

+0

Рад, что я мог помочь. Спасибо. – RoHaN

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

  • Нет связанных вопросов^_^