我的问题是关于标题.
我不知道如何在特定的一侧,顶部或底部,任何一侧添加边框......
layer.border为整个视图绘制边框...
我试图drawRect:在我的自定义视图中覆盖UIView 的方法.但是,我的视图的边界半径定义为:
sub = [[[NSBundle mainBundle] loadNibNamed:@"ProfileView" owner:self options:nil] objectAtIndex:0];
[self addSubview:sub];
[sub setUserInteractionEnabled:YES];
[self setUserInteractionEnabled:YES];
CALayer *layer = sub.layer;
layer.masksToBounds = YES;
layer.borderWidth = 5.0;
layer.borderColor = [UIColor whiteColor].CGColor;
layer.cornerRadius = 30.0;
Run Code Online (Sandbox Code Playgroud)
这完美地工作,并在我的视图周围放置一个边框半径很好的边框(不要介意背面的对角线/直线白线,它们与此视图无关):

但是,当我尝试drawRect:在我的视图中覆盖该方法时,我可以看到黑色背景没有掩盖到边界.我没有做任何事情(目前),这里是我的代码:
-(void)drawRect:(CGRect)rect{
[super drawRect:rect];
}
Run Code Online (Sandbox Code Playgroud)
这是结果:

我只改变了绘制方法.如何在保持视图遵循角半径蒙版的同时覆盖绘制方法?这是iOS中的错误还是我错过了什么?
如果我创建一个子类UIView,并希望使用一堆定制的内容(通过动画CABasicAnimation使用CAShapeLayerS,定制的图形上使用CGContextRef的drawRect)当创建,添加和动画子层正确的时间?
我知道我应该在drawRect方法中执行自定义绘图(因为有一个地方,当我真的可以得到UIGraphicsGetCurrentContext()那种方式缩小我的选择).现在我一直在创建子图层,动画和所有其他非绘图相关的东西drawRect.但我不确定这drawRect是做这类活动的最佳地点.
我熟悉layoutSubviews方法和其他一些UIView方法,但除了实际上没有实现任何方法drawRect.
因此,如果我再重复一次 - 问题是:在哪里添加子图层,在哪里设置动画,是否有任何技巧或捕捉我应该注意?