【发布时间】:2013-04-16 10:16:57
【问题描述】:
我正在尝试为我的观点制作圆角并解决一个奇怪的问题。
我使用以下代码为我的视图制作圆角
bezierPath = [UIBezierPath bezierPathWithRoundedRect:btnView.bounds
byRoundingCorners:UIRectCornerAllCorners
cornerRadii:radius];
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
maskLayer.frame = btnView.bounds;
maskLayer.path = bezierPath.CGPath;
btnView.layer.mask = maskLayer;
问题是,它不适用于底角。如果我使用UIRectCornerBottomLeft,则不会发生任何事情,如果我使用UIRectCornerAllCorners,则只有顶角是圆角的。
编辑:我不使用 layer.cornerRadius 因为我只想圆底角。
事实证明,如果我从视图中删除 UIViewAutoresizingFlexibleHeight 自动调整大小掩码,我没有问题。但我想使用自动调整大小的蒙版。如果可以,有可能吗?
我已经尝试在设置图层蒙版之前和之后设置 autoresizingMask。运气不好!
【问题讨论】:
-
为什么不直接使用 layer.cornerradius?
-
对@LithuT.V 我在发表评论之前先发布答案:)
-
@LithuT.V 我已经更新了我的问题。
-
@ParasJoshi :是的,我发表了评论,同时你把它作为答案。
标签: iphone ios uiview rounded-corners uibezierpath