Mer*_*ert 11 iphone rounded-corners uiview ios uibezierpath
我正试图为我的观点制作圆角并解决一个奇怪的问题.
我使用以下代码为我的视图制作圆角
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;
Run Code Online (Sandbox Code Playgroud)
问题是,它不适用于底角.如果我UIRectCornerBottomLeft
没有使用任何事情,如果我UIRectCornerAllCorners
只使用顶角是圆的.
编辑:我不使用layer.cornerRadius因为我只想圆底角.
事实证明,如果我UIViewAutoresizingFlexibleHeight
从视图中删除自动调整遮罩,我没有问题.但我想使用autoresizing mask.有可能,如果是的如何?
我已经尝试在设置图层蒙版之前和之后设置autoresizingMask.没运气!
Oli*_*gey 10
我刚刚遇到类似的问题需要花费数小时才能解决 - 答案很简单:将我的代码从viewDidLoad移到viewDidLayoutSubviews:这是自动布局完成后调用的第一个方法....所以我怀疑我确实有4个圆角但不知何故,他们离屏幕的边缘.
在我得到另一个答案之前,如果可以将 autoresizingMask 与 一起使用UIBezierPath
,我说“否”并标记为正确答案。
我不会删除我的问题,因为任何人都可以在不知道原因的情况下解决同样的问题。
归档时间: |
|
查看次数: |
8319 次 |
最近记录: |