我正在尝试将导航栏设置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;
加载模拟器时,这似乎可以创建我想要的瞬间图像,但是该图像出现在屏幕的左上角,然后立即捕捉到导航栏的中央。一旦位于导航栏的中心,它将重新缩放以占据导航栏的整个空间,而不是保留一个小圆圈。我想念什么?似乎我必须禁用使我的图像按比例放大以填充整个导航栏的任何机制。
只需将其添加到包含视图
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;
截屏
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句