- 授权协议: 未知
- 开发语言: Objective-C
- 操作系统: 跨平台
- 软件首页: https://github.com/gitKun/DRCornerViewExtension
- 软件文档: https://github.com/gitKun/DRCornerViewExtension
- 官方下载: https://github.com/gitKun/DRCornerViewExtension
软件介绍
DRCornerViewExtension是一款设置圆角的方式,无离屏渲染,无mask 使用 CAShaperLayer 实现 Extension的软件。
使用 maskToBounds 和 cornerRadius 或者 mask 时 造成的离屏渲染(如下图):
使用 UIView+Corner 时的UIImageView
使用 UIView+Corner 时的UILabel
核心代码:
- (void)dr_cornerWithRadius:(CGFloat)radius backgroundColor:(UIColor *)bgColor {
CGFloat width = CGRectGetWidth(self.bounds);
CGFloat height = CGRectGetHeight(self.bounds);
UIBezierPath * path= [UIBezierPath bezierPathWithRect:CGRectMake(0, 0, width, height)];
CAShapeLayer *shapeLayer = [CAShapeLayer layer];
if (radius == -1) {
radius = MIN(width, height)/2;
}
[path appendPath:[UIBezierPath bezierPathWithRoundedRect:self.bounds byRoundingCorners:UIRectCornerAllCorners cornerRadii:CGSizeMake(radius, radius)]];
/*
字面意思是“奇偶”。按该规则,要判断一个点是否在图形内,从该点作任意方向的一条射线,然后检测射线与图形路径的交点的数量。如果结果是奇数则认为点在内部,是偶数则认为点在外部
*/
[path setUsesEvenOddFillRule:YES];
shapeLayer.path = path.CGPath;
shapeLayer.fillRule = kCAFillRuleEvenOdd;
shapeLayer.fillColor = bgColor.CGColor;
if ([self isKindOfClass:[UILabel class]]) {
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[self.layer addSublayer:shapeLayer];
});
return;
}
[self.layer addSublayer:shapeLayer];
}
Iterative Methods for Sparse Linear Systems, Second Edition
Yousef Saad / Society for Industrial and Applied Mathematics / 2003-04-30 / USD 102.00
Tremendous progress has been made in the scientific and engineering disciplines regarding the use of iterative methods for linear systems. The size and complexity of linear and nonlinear systems arisi......一起来看看 《Iterative Methods for Sparse Linear Systems, Second Edition》 这本书的介绍吧!



