如何在swift的TableView底部应用圆角?

时间:2016-09-15 04:15:52

标签: swift uitableview uiviewcontroller autolayout

我的应用有一个页面,可以将从异步API调用中获取的数据加载到三个tableView中。我在viewDidLoad

中设置了所有数据

表格高度根据行数动态变化,这就是我在viewDidLoad中有约束的原因:

func setupTableView(tableView: UITableView) {
    tableView.dataSource = self
    tableView.delegate = self
    tableView.rowHeight = UITableViewAutomaticDimension
}

override func viewDidLoad() {
    super.viewDidLoad()

    // People
    self.loadPeople() { (boolValue) -> () in
        self.peopleNumberLabel.text = self.getPeoplesNumberText(self.numberOfPeople)
        self.peopleTableViewHeightConstraint.constant = self.peopleTableView.contentSize.height
        self.setupTableView(self.peopleTableView)
        self.peopleTableView.estimatedRowHeight = 100
    }
    ... // Two other table views
}

我正试图在每个表的底部设置圆角,如下所示:

func setUpBottomRoundedCorners(view: UIView) {
    let path = UIBezierPath(roundedRect:view.bounds, byRoundingCorners:[UIRectCorner.BottomRight, .BottomLeft], cornerRadii: CGSizeMake(3, 3))
    let maskLayer = CAShapeLayer()
    maskLayer.path = path.CGPath
    view.layer.mask = maskLayer
    view.layer.masksToBounds = true
}

但每当我使用

将其应用于表格视图时
setUpBottomRoundedCorners(self.peopleTableView)

在数据更改高度之前,它会在原始高度处关闭我的tableview,或者完全隐藏表格。我已经在viewDidLoadviewWillAppear中尝试过了。

我显然错过了什么,出了什么问题?

0 个答案:

没有答案