【发布时间】:2016-12-26 06:22:54
【问题描述】:
我正在尝试在UITableView 上实现底部圆角。
我使用了下面的代码 sn-p,它存在于我的 MyUtils.m -
/*
* To get rounded corners of view.
*/
+ (UIView *)roundCornersOnView:(UIView *)view rectCorner:(UIRectCorner)corner radius:(float)radius
{
UIView *roundedView = view;
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:roundedView.bounds byRoundingCorners:corner cornerRadii:CGSizeMake(radius, radius)];
CAShapeLayer *maskLayer = [CAShapeLayer layer];
maskLayer.frame = roundedView.bounds;
maskLayer.path = maskPath.CGPath;
roundedView.layer.mask = maskLayer;
return roundedView;
}
然后我从我的 swift 文件中调用上面的 MyUtils 方法到 2 个视图的圆角。一个是UIView,另一个是UITableView。
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
MyUtils.roundCornersOnView(myUIView, rectCorner: [.TopLeft, .TopRight], radius: 15)
MyUtils.roundCornersOnView(myTableView, rectCorner: [.BottomLeft, .BottomRight], radius: 15)
}
UIView 没有问题,如果是UITableView,我可以在底部看到我想要实现的底部圆角,但之后UITableView 开始滚动而不是其内容。
通常UITableView 的内容会滚动,但在应用此UITableView 后开始滚动,可能是UITableView 的背景正在滚动。
【问题讨论】:
-
将 clipToBounds 应用到您的 myTableView,这样超出 myTableView 范围的内容将不可见。
-
@nferocious76 感谢您对此进行调查,但不确定这没有用
-
可以给我看那部分的截图吗?
-
请加入这个房间:join.skype.com/OnghTaGAf3VB
-
请检查文件:)
标签: ios objective-c uitableview