gpt4 book ai didi

ios - view.Layer.CornerRadius 不适用于 UIView Swift 3 iOS 的 UIScrollView subview

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:37:50 25 4
gpt4 key购买 nike

我希望 View 有圆角所以我添加了

cardView.layer.cornerRadius = 5

但是 cardView 的 subview ,即 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

}

}

我该怎么做才能修复它?

最佳答案

将其进一步嵌套在另一个 UIView 中,将其命名为 maskedCardView 并添加代码

maskCardView.layer.cornerRadius = 5
maskCardView.layer.masksToBounds = true

添加 socket 后

@IBOutlet var maskCardView: UIView!

这样它可以在遮盖 UIScrollView 的左上角和右上角的同时保留阴影。这是完整的代码供引用。

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!
@IBOutlet var maskCardView: UIView!

override func awakeFromNib() {
super.awakeFromNib()

maskCardView.layer.cornerRadius = 5
maskCardView.layer.masksToBounds = true

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 - view.Layer.CornerRadius 不适用于 UIView Swift 3 iOS 的 UIScrollView subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41120843/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com