滚动时UITableView被切断了吗?

时间:2012-01-02 00:42:54

标签: objective-c ios uitableview

我刚刚意识到,如果我使用此代码仅舍入UITableView的前2个边缘:

UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:thetableView.bounds 
                                                   byRoundingCorners:UIRectCornerTopLeft | UIRectCornerTopRight
                                                         cornerRadii:CGSizeMake(10.0, 10.0)];
    // Create the shape layer and set its path
    CAShapeLayer *maskLayer = [CAShapeLayer layer];
    maskLayer.frame = thetableView.bounds;
    maskLayer.path = maskPath.CGPath;
    thetableView.layer.mask = maskLayer;

如果我向下滚动到我在Interface Builder中创建的UITableView框架下方的任何内容,我的tableview内容将被切断。虽然如果我把这个代码拿出来,一切都很好。

有没有办法让两个世界都做到最好,我可以围绕顶角并且原始框架下方的内容不会被切断?

谢谢!

1 个答案:

答案 0 :(得分:4)

这是解决方案。将表视图包含在外部UIView中(与表视图完全相同,并且在封闭视图中将表视图设置为0,0)。然后将插座连接到该封闭视图并在其上设置圆角顶角。

我认为这是Apple的一个错误。