gpt4 book ai didi

Swift 访问辅助函数 View

转载 作者:行者123 更新时间:2023-11-30 11:21:24 25 4
gpt4 key购买 nike

我尝试从我的帮助程序类访问函数“addNavBar()”,但是当我运行模拟器时,HomeViewController 上没有显示任何 View 。

swift 4

HomeViewController.swift

class HomeController: UIViewController {
let NavBar = NavigationBarHelper()
override func viewDidLoad() {
super.viewDidLoad()
NavBar.addNavBar()
}

}

NavigationBarHelper.swift

class NavigationBarHelper: UIView {
func addNavBar() {
let rect = CGRect(x: 10, y: 70, width: 250, height: 100)
let navBarView = UIView(frame: rect)
navBarView.backgroundColor = UIColor.blue
self.addSubview(navBarView)
}
}

最佳答案

NavigationBarHelper 中的

self 与 View Controller 中的 View 不是同一对象。将 VC 的 View 作为参数传递。没有必要让NavigationBarHelper成为UIView的子类(事实上它也可以是一个结构体)。

class NavigationBarHelper {
func addNavBar(to view: UIView) {
let rect = CGRect(x: 10, y: 70, width: 250, height: 100)
let navBarView = UIView(frame: rect)
navBarView.backgroundColor = UIColor.blue
view.addSubview(navBarView)
}
}

还请遵守命名约定

class HomeController: UIViewController {
let navBarHelper = NavigationBarHelper()
override func viewDidLoad() {
super.viewDidLoad()
navBarHelper.addNavBar(to: self.view)
}

关于Swift 访问辅助函数 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51231635/

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