相关疑难解决方法(0)

如何在UIView的顶部添加边框

我的问题是关于标题.

我不知道如何在特定的一侧,顶部或底部,任何一侧添加边框...... layer.border为整个视图绘制边框...

xcode border objective-c uiview ios

136
推荐指数
10
解决办法
12万
查看次数

UIView重写drawRect会导致视图不遵守masksToBounds

我试图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 drawrect ios ios6

7
推荐指数
1
解决办法
3844
查看次数

何时是在UIView子类中设置动画和添加子图层的正确时间

如果我创建一个子类UIView,并希望使用一堆定制的内容(通过动画CABasicAnimation使用CAShapeLayerS,定制的图形上使用CGContextRefdrawRect)当创建,添加和动画子层正确的时间?

我知道我应该在drawRect方法中执行自定义绘图(因为有一个地方,当我真的可以得到UIGraphicsGetCurrentContext()那种方式缩小我的选择).现在我一直在创建子图层,动画和所有其他非绘图相关的东西drawRect.但我不确定这drawRect是做这类活动的最佳地点.

我熟悉layoutSubviews方法和其他一些UIView方法,但除了实际上没有实现任何方法drawRect.

因此,如果我再重复一次 - 问题是:在哪里添加子图层,在哪里设置动画,是否有任何技巧或捕捉我应该注意?

animation objective-c calayer uiview ios

6
推荐指数
1
解决办法
2185
查看次数

标签 统计

ios ×3

uiview ×3

objective-c ×2

animation ×1

border ×1

calayer ×1

drawrect ×1

ios6 ×1

xcode ×1