2013-08-14 2 views
0

У меня есть дизайн цели, как картина в этом: enter image description hereКак пользовательский UINavigationController?

Проблема заключается в том, UIButtonvalign не может в центральном положении, UIButton всегда относительно UINavigationController так: enter image description here

Как сделать UIButton VALIGN в центре в японских интернет магазинах. Доставка морем, EMS и авиа изображение высота нет UINavigationController высота?

+0

Обновите свой вопрос, чтобы правильно отображать изображения вместо описаний. –

+0

показать код, который вы использовали для этой кнопки –

+0

Вы используете эту кнопку в качестве кнопки на панели или добавляете ее в качестве подзаголовка ?? –

ответ

1
self.btnBack = [UIButton buttonWithType:UIButtonTypeCustom]; 
[self.btnBack setImage:[UIImage imageNamed:@"back_active.png"] forState:UIControlStateNormal]; 
[self.btnBack addTarget:self action:@selector(back) forControlEvents:UIControlEventTouchUpInside]; 
self.btnBack.frame = CGRectMake(5, 9, 50, 30); 
[self.navigationController.navigationBar addSubview:self.btnBack]; 

этот link тоже.

Обновление: для кнопки возврата

-(void)back 
{ 

[self.btnBack removeFromSuperview]; 
[self.navigationController popViewControllerAnimated animated:NO]; 
} 
0

Сначала создайте пользовательскую кнопку, а затем добавить подвид в навигационном контроллере: -

UIButton * headerButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
[headerButton addTarget:self action:@selector(headerButton1Action:) forControlEvents:UIControlEventTouchUpInside]; 
headerButton.frame = CGRectMake(95, 1, 30,38); 
[headerButton setImage:[UIImage imageNamed:@"header-icon"] forState:UIControlStateNormal]; 
[headerButton setImage:[UIImage imageNamed:@"header-icon-pressed"] forState:UIControlStateSelected]; 

[self.navigationController.navigationBar addSubview:headerButton]; 

Я надеюсь, что это поможет. Счастливый кодирования ...

0

Это хорошее быстрое решение

myButton.titleLabel.font = [UIFont fontWithName:@"FontName" size:20.0]; 
myButton.contentEdgeInsets = UIEdgeInsetsMake(3.0, 0.0, 0.0, 0.0); 

и скрыть панель навигации по

[self.navigationController setNavigationBarHidden:YES]; 

затем показать свой собственный вид

+0

Я пробую ваш код, его работа моя позиция UIButton верна. но у меня возникает другая проблема, мое положение не совпадает с позицией UIButton. Как это исправить, спасибо. –

0

Существует трюк,

Скрыть навигационный контроллер можно с помощью [self.navigationController setNavigationBarHidden:YES];

и отображать пользовательский вид сверху, как вы хотите.

0

к веро вы столкнулись из-за высоты навигационной панели. Теперь есть два подхода. Либо вы можете создать категорию для панели навигации и переопределить метод sizethatFits - (CGRect), как показано ниже: - (CGSize) sizeThatFits: (CGSize) size { CGSize newSize = CGSizeMake (320 100); return newSize; }

Или вы можете скрыть навигационную панель, как: [self.navigationController setNavigationBarHidden: YES]; и поместите заголовок и обработайте это.

Сделайте то, что вы бы предпочли сделать.

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