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á上运行项目后,透明环出现在图像和边框之间:
注意:透明环的实际大小取决于化身比容器视图小多少。 重要! 我不知道这个女孩是谁,请不要问我她的电话号码。