2015-07-11 1 views
0

Я пытаюсь настроить навигационную панель titleView на округленное изображение. Подобно изображениям профиля, которые вы обычно видите в приложениях для обмена сообщениями.округленная панель навигации изображение iphone sdk

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

UIImageView* profileImageView = [[UIImageView alloc] initWithImage:logoImage]; 
[profileImageView setFrame:CGRectMake(0, 0, 30, 30)]; 

//profileImageView.contentMode = UIViewContentModeScaleAspectFit; 
// XXX contentMode commented out because enabling it causes the rounded corners to have no effect? 
profileImageView.layer.cornerRadius = 15; 
profileImageView.layer.masksToBounds = YES; 
profileImageView.clipsToBounds = YES; 
self.navigationItem.titleView = profileImageView; 

Это, кажется, создать образ я пожелаю на долю секунды, когда я загрузить эмулятор, но изображение появляется в верхнем левом углу экрана, а затем сразу же привязывается к центру панели навигации. Однажды в центре навигационной панели она масштабируется, чтобы занять все пространство навигационной панели, а не оставаться в виде небольшого круга. Что мне не хватает? Похоже, мне нужно отключить, что когда-либо механизм заставляет мое изображение масштабироваться, чтобы заполнить всю панель навигации.

ответ

5

Просто добавьте его к содержат зрения

UIView * containView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 30, 30)]; 
UIImageView* profileImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image.jpeg"]]; 
[profileImageView setFrame:CGRectMake(0, 0, 30, 30)]; 
profileImageView.layer.cornerRadius = 15; 
profileImageView.layer.masksToBounds = YES; 
profileImageView.clipsToBounds = YES; 
[containView addSubview:profileImageView]; 
self.navigationItem.titleView = containView; 

Скриншот

enter image description here

+0

Эй, это прекрасно работает, но как я могу добавить белую рамку с закругленным изображения? – PhoenixDev

+0

_profileImageView.layer.borderWidth = 1.0F; _ _profileImageView.layer.borderColor = [UIColor whiteColor] .CGColor; _ – Apoc