【发布时间】:2017-04-28 11:58:27
【问题描述】:
我希望视图有圆角,所以我添加了
cardView.layer.cornerRadius = 5
但是 cardView 的子视图,即 UIScrollView 的 sViewListing 似乎并没有受到它的影响。
我只想将 UIScrollView 的 topRight 和 topLeft cornerRadius 设置为 5,所以我也尝试使用 UIBezierPath 来掩盖它,但它似乎仍然不起作用。
以下是我尝试过的:
import UIKit
class TableViewCell: UITableViewCell {
@IBOutlet var cardView: UIView!
@IBOutlet var sViewListing: UIScrollView!
@IBOutlet var bookTitleListing: UILabel!
@IBOutlet var ratingListing: UIImageView!
@IBOutlet var locationListing: UILabel!
@IBOutlet var priceListing: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
let path = UIBezierPath(roundedRect:sViewListing.bounds,
byRoundingCorners:[.topRight, .topLeft],
cornerRadii: CGSize(width: 5, height: 5))
let maskLayer = CAShapeLayer()
maskLayer.path = path.cgPath
sViewListing.layer.mask = maskLayer
cardView.backgroundColor = UIColor.white
cardView.layer.cornerRadius = 5
cardView.clipsToBounds = true
cardView.layer.masksToBounds = false
cardView.layer.shadowColor = UIColor.black.withAlphaComponent(0.3).cgColor
cardView.layer.shadowOffset = CGSize(width: 0, height: 0)
cardView.layer.shadowOpacity = 0.8
}
}
我能做些什么来解决它?
【问题讨论】:
标签: ios uiview uiscrollview swift3 rounded-corners