今天要做一個button, 使用系統的沒啥意思,感覺學不到新東西,所以自己做uiview,(以前做symbian做神經了,啥都喜歡自己做)自己做委託,自己做控制項,大家別說我賤哦。
畫個圓角的矩形沒啥難的,有兩種方法:
1 。直接修改view的樣式,系統提供好的了:
view.layer.cornerRadius = 6;
view.layer.masksToBounds = YES;
用layer做就可以了,十分簡單。這個需要倒庫 QuartzCore.framework;
2. 在view 裡面畫圓角矩形
CGFloat radius = 20.0;
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetRGBStrokeColor(context, 1.0, 1.0, 1.0, 1);
CGFloat minx = CGRectGetMinX(rect), midx = CGRectGetMidX(rect), maxx = CGRectGetMaxX(rect);
CGFloat miny = CGRectGetMinY(rect), midy = CGRectGetMidY(rect), maxy = CGRectGetMaxY(rect);
CGContextMoveToPoint(context, minx, midy);
CGContextAddArcToPoint(context, minx, miny, midx, miny, radius);
CGContextAddArcToPoint(context, maxx, miny, maxx, midy, radius);
CGContextAddArcToPoint(context, maxx, maxy, midx, maxy, radius);
CGContextAddArcToPoint(context, minx, maxy, minx, midy, radius);
CGContextClosePath(context);
CGContextDrawPath(context, kCGPathFill);
用畫筆的方法,在drawRect裡面做。
希望大家都不要滿足現狀,老用xib, 多思考,這樣才不至於被淘汰。
摘自 diqun1314的專欄