gpt4 book ai didi

XIB 界面上的 IOS 按钮不起作用

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

因此,我尝试使用 uiview 实现登录/注册段控件,其中包含用两个 View Controller (带有 xib 文件)初始化的两个 subview 。我从 https://www.youtube.com/watch?v=e5nxg5NzLks 得到这个想法视频,我将所有元素放在 xib 界面上。但是,即使我设置正确,该按钮也无法工作。

class RegisterLoginVC: UIViewController {

@IBOutlet weak var segmentedControl: BetterSegmentedControl!
@IBOutlet weak var container: UIView!
var subviews : [UIView]!


override func viewDidLoad() {
super.viewDidLoad()
print("this is main page superview")

//change the value of segmented control
segmentedControl.segments = LabelSegment.segments(withTitles: ["Login", "Sign Up"],
normalFont: UIFont(name: "Avenir", size: 20.0)!,
normalTextColor: Utilities.hexStringToUIColor(hex: "FEC341"),
selectedFont: UIFont(name: "Avenir-Heavy", size: 20.0)!,
selectedTextColor: .white)
//initialize login and signup subview
subviews = [UIView]()
subviews.append(LoginVC().view)
subviews.append(SignUpVC().view)
// add subviews to container
for v in subviews{
container.addSubview(v)
//add subview constraints to be framed inside container
v.translatesAutoresizingMaskIntoConstraints = false
v.leftAnchor.constraint(equalTo: container.leftAnchor).isActive = true
v.topAnchor.constraint(equalTo: container.topAnchor).isActive = true
v.rightAnchor.constraint(equalTo: container.rightAnchor).isActive = true
v.bottomAnchor.constraint(equalTo: container.bottomAnchor).isActive = true
}
//set login subview as default
container.bringSubviewToFront(subviews[0])

}

// when the segmented control was selected
@IBAction func segmentedCtrlChanged(_ sender: BetterSegmentedControl) {
self.container.bringSubviewToFront(subviews![Int(sender.index)])

}
}

上面是我的主页面 View Controller ,下面是我的登录 subview Controller

import UIKit

class LoginVC: UIViewController {

@IBOutlet weak var forgetPasswordLink: UIButton!

override func viewDidLoad() {
super.viewDidLoad()
print("omg!")

// Do any additional setup after loading the view.
}

@IBAction func forgetPasswordTapped(_ sender: UIButton) {
print("normal button works")
}
}

我还附上了登录 subview xib 和文件所有者屏幕截图

fileowner subview

最佳答案

我是那个发布问题的人,我只是以某种方式找到了一个令人讨厌的丑陋的解决方案,但至少它受到了视频作者的下一个视频的启发。

所以我实际上从主视图 Controller 访问登录 View Controller 实例,并访问其按钮导出,当我切换控件时,我在该按钮实例上添加了一个目标并且它起作用了。

但是这很困惑,因为所有 subview 的 Controller 工作都将在主视图 Controller (而不是它们自己的 vc)中处理。希望这能给某人一些见解,帮助我找到错误并帮助我找到更好的解决方案。

谢谢

关于XIB 界面上的 IOS 按钮不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55055817/

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