iOS中的透明环

我的视图中有一个圆形头像。 我这样做:

self.imageView.layer.cornerRadius = 75; self.imageView.layer.masksToBounds = YES; self.imageView.layer.borderWidth = 1; self.imageView.layer.borderColor = [UIColor whiteColor].CGColor; 

但我希望在头像和白色边框之间有透明的2px戒指。 我无法在背景上画出白色圆圈,因为化身可以移动并且环位置会丢失。 我有想法使用

 CGContextSetBlendMode(context, kCGBlendModeClear); 

在分配图层之后,我不知道它是如何完成的。 感谢您的帮助。

这个问题似乎只是一个缺乏想象力的问题。


这是问题的快速解决方案:

Interface Builder中 ,您需要添加容器视图,该视图包含头像图像视图; 它是如何在我的屏幕上看到编辑器中的视图的原始图片:

在界面构建器中

这是视图层次结构中两个视图之间的关系:容器视图是头像图像视图的超级视图:

嘿

将相关的出口 (称为_containerView_avatarImageView )添加到类并将它们连接到视图后; 我们也可以将这个小片段添加到我们的代码中:

 [_containerView setBackgroundColor:[UIColor clearColor]]; [_containerView.layer setCornerRadius:MIN(_containerView.bounds.size.width, _containerView.bounds.size.height) / 2.0]; [_containerView.layer setBorderColor:[[UIColor whiteColor] CGColor]]; [_containerView.layer setBorderWidth:4.0]; [_avatarImageView.layer setCornerRadius:MIN(_avatarImageView.bounds.size.width, _avatarImageView.bounds.size.height) / 2.0]; [_avatarImageView.layer setMasksToBounds:TRUE]; 

在模拟器或真实设备violá上运行项目后,透明环出现在图像和边框之间:

出现透明环


注意:透明环的实际大小取决于化身比容器视图小多少。 重要! 我不知道这个女孩是谁,请不要问我她的电话号码。