我想创建像Instagram的故事情节图片中的圆形图像。它应该有两个圆圈,内圈为白色,外圈颜色为自身颜色不渐变。我尝试过该代码,但只有一个圆圈。如何在imageView图层中添加第二个圆圈?
self.imageView.layer.cornerRadius = 30;
self.imageView.layer.borderWidth = 3;
self.imageView.layer.borderColor = [UIColor whiteColor].CGColor;
self.imageView.layer.masksToBounds = YES;
你能帮帮我吗?
谢谢:)
答案 0 :(得分:1)
您可以使用为UIImageView
提供多个边框的第三方library。
而且,如果您想自己动手,可以UIImageView
subView
UIView
UIView
。然后进行borderWidth
轮并设置UIImageView
并为其添加颜色。对UIView
执行相同的操作。
以下是一个例子:
像这样添加UIImageView
和-(void)viewDidLayoutSubviews {
[super viewDidLayoutSubviews];
_profileImage.layer.cornerRadius = 30;
_profileImage.layer.borderWidth = 3;
_profileImage.layer.borderColor = [UIColor whiteColor].CGColor;
_profileImage.layer.masksToBounds = YES;
_profileImage.clipsToBounds = true;
_profileImage.layer.cornerRadius = _profileImage.frame.size.height/2;
_superViewImage.clipsToBounds = true;
_superViewImage.layer.masksToBounds = true;
_superViewImage.layer.cornerRadius = _superViewImage.frame.size.height/2;
_superViewImage.layer.borderWidth = 0.5;
_superViewImage.layer.borderColor = (__bridge CGColorRef _Nullable)([UIColor greenColor]);
}
。
然后添加此代码:
#include<iostream>
#include<vector>
#include<string.h>
using namespace std;
int n,m;
void bdfs(bool B[202][208],int x,int y,bool v[202][208]) { //passing array of array as recursion's parameter
if(x < 0 || y < 0 || x >= n || y >= m)return;
if(B[x][y] != 0 || v[x][y])return;
v[x][y] = 1;
bdfs(B,x,y+1,v);
bdfs(B,x,y-1,v);
bdfs(B,x+1,y+1,v);
bdfs(B,x+1,y,v);
bdfs(B,x+1,y-1,v);
bdfs(B,x-1,y+1,v);
bdfs(B,x-1,y,v);
bdfs(B,x-1,y-1,v);
}
int main(){
n=202;
m=208;
bool B[202][208],v[202][208];
memset(B, 0, sizeof(B));
memset(v, 0, sizeof(v));
bdfs(B,0,0,v);
return 0;
}
为两个边框设置所需的颜色。
希望它有所帮助。 :)