圆形导航栏图像iphone sdk

cap*_*eve 0 iphone objective-c ios ios7

我试图将导航栏设置titleView为圆形图像.与您在邮件应用程序中通常看到的配置文件图像类

我相信我应该能够通过执行以下操作创建圆形缩小的图像:

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;
Run Code Online (Sandbox Code Playgroud)

当我加载模拟器时,这似乎创建了我想要的瞬间图像,但图像出现在屏幕的左上角,然后立即捕捉到导航栏的中心.一旦位于导航栏的中心,它将重新缩放以占据导航栏的整个空间,而不是保留为小圆圈.我错过了什么?看起来我必须要禁用任何机制导致我的图像向上扩展以填充整个导航栏.

Leo*_*Leo 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;
Run Code Online (Sandbox Code Playgroud)

截图

在此输入图像描述