gpt4 book ai didi

ios - 如何在 UIViewController ios 中使用 UIView

转载 作者:行者123 更新时间:2023-11-29 11:47:44 24 4
gpt4 key购买 nike

我是这样制作 UIView 的。但我想在 UIViewController 中使用它我该怎么办?

导入 UIKit

class CardView: UIView {

@IBInspectable var cornerRadius: CGFloat = 2

@IBInspectable var shadowOffsetWidth: Int = 0
@IBInspectable var shadowOffsetHeight: Int = 3
@IBInspectable var shadowColor: UIColor? = UIColor.black
@IBInspectable var shadowOpacity: Float = 0.5

override func layoutSubviews() {
layer.cornerRadius = cornerRadius
let shadowPath = UIBezierPath(roundedRect: bounds, cornerRadius: cornerRadius)

layer.masksToBounds = false
layer.shadowColor = shadowColor?.cgColor
layer.shadowOffset = CGSize(width: shadowOffsetWidth, height: shadowOffsetHeight);
layer.shadowOpacity = shadowOpacity
layer.shadowPath = shadowPath.cgPath
}

}

最佳答案

如果您想将它添加到您的 viewController 中,您有多种选择:

  1. 直接将其添加到 Storyboard 中(最佳选择):

通过 xCode 右下角的检查器/对象库在 viewController 中拖动一个 View

UIView object screenshot

添加约束,然后点击 View

Constraints screenshot

并在身份检查器/自定义类字段中选择您的自定义类

  1. 您还可以使用从 xib 加载的 View Google 从 xib 加载的不同方式。

  2. 您可以在代码中添加它。有点难:

创建惰性属性:

lazy var cardView: CardView = {
let cardView = CardView(frame: CGRect(x: 0, y: 0, width: 100, height: 200))
cardView.backgroundColor = .gray
cardView.layer.cornerRadius = 16.0
return cardView
}()

例如在 viewDidLoad 中添加自定义 View :

override func viewDidLoad() {
super.viewDidLoad()

/* Adding subview to the VC */
view.addSubview(cardView)
}

然后添加约束。您可以将其垂直/水平居中,然后设置自定义高度/宽度。这取决于你想要什么......

检查一下: Swift | Adding constraints programmatically

我建议您阅读 Apple 的文档,而不仅仅是复制粘贴代码。如果您还没有阅读,一定要阅读“documentation/UserExperience/Conceptual/AutolayoutPG/ProgrammaticallyCreatingConstraints.html”。

关于ios - 如何在 UIViewController ios 中使用 UIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42758928/

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