gpt4 book ai didi

ios - 从 Storyboard外部的 View 访问 UIControls

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

我的 View (在 Main.storyboard 中)包含另一个 UIView,它仅占据屏幕高度的大约 80%(设置约束)。

在第二个 View (我称之为 viewContainer)中,我想显示不同的 View ,它可以与viewContainer.bringSubview(toFront: someView)

我在项目中创建了一个新组,其中包含 3 个 UIViewController 类和 3 个 xib 文件,我想将它们显示在我的 viewContainer 中。

对于每个 xib 文件,我将背景颜色更改为独特的颜色,以便我可以判断它是否正常工作。到目前为止确实如此。

现在,我尝试将 UIButton 添加到第一个 UIViewController 类,并为其添加一个 @IBAction 。这只是将文本打印到控制台。

当我运行应用程序时,我可以在 3 个类(3 种不同的背景颜色)之间切换,并且当我选择它时,我还可以看到并单击添加到第一个类的按钮。

但是代码永远不会执行,而且我的控制台是空的。这是因为我的 Main.storyboard 中没有显示其他 3 个 View 吗?

Project Structure Screenshot

SimpleVC1.swift

import UIKit

class SimpleVC1: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()

}

@IBAction func onButtonPressed(_ sender: Any) {
print("test")
}

}

最佳答案

尝试使用目标(并以编程方式创建按钮),它可能会更容易:

import UIKit

class SimpleVC1: UIViewController {

var button = UIButton()

override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(button)
button.frame.size = CGSize(width: 100, height: 100)
button.center = CGPoint(x: 100, y: 100)
button.setTitle("Control 1", for: .normal)
button.addTarget(self, action: #selector(control1), for: .touchUpInside)
button.backgroundColor = UIColor.blue
button.setTitleColor(UIColor.white, for: .normal)
}

@objc func control1() {
//Add your code for when the button is pressed here
button.backgroundColor = UIColor.red
}
}

关于ios - 从 Storyboard外部的 View 访问 UIControls,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49212978/

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