0
如何爲CKComponent(ComponentKit Facebook)繪製線條?如何爲CKComponent(ComponentKit Facebook)繪製線條?
我可以使用基於UIView的類使用drawrect方法來做到這一點。
[CKStackLayoutComponent newWithView:{ [ViewWithDrawrectMethod class],
{
{ CKComponentViewAttribute::LayerAttribute(@selector(setCornerRadius:)), @4.0 },
{ CKComponentViewAttribute::LayerAttribute(@selector(setBorderColor:)), (id)[[UIColor lightGrayColor] CGColor]},
{ CKComponentViewAttribute::LayerAttribute(@selector(setBorderWidth:)), @0.5},
{ @selector(setClipsToBounds:), @YES },
{ @selector(setBackgroundColor:), [UIColor whiteColor]},
}
}
@interface ViewWithDrawrectMethod : UIView
@end
@implementation ViewWithDrawrectMethod
-(void) drawRect: (CGRect) rect
{
[super drawRect:rect];
CGContextRef context = UIGraphicsGetCurrentContext();
CGFloat dash[] = {2.0, 3.0};
CGContextSetLineDash(context, 0, dash, 1);
CGRect paperRect = self.bounds;
CGPoint startPoint = CGPointMake(paperRect.origin.x,50);
CGPoint endPoint = CGPointMake(paperRect.origin.x + paperRect.size.width, 50);
CGContextSetLineCap(context, kCGLineCapSquare);
CGContextSetStrokeColorWithColor(context, [UIColor grayColor].CGColor);
CGContextSetLineWidth(context, 0.5);
CGContextMoveToPoint(context, startPoint.x , startPoint.y);
CGContextAddLineToPoint(context, endPoint.x, endPoint.y);
CGContextStrokePath(context);
}
但我懷疑,如果使用基於UIViev組分像CKStackLayoutComponent的孩子吧?也許有更好的方法?
感謝提前準備好回答。