【发布时间】:2020-12-17 14:14:30
【问题描述】:
我正在尝试在故事板编辑器中添加的容器视图中运行一个函数,但是当我在父视图控制器中调用它时,没有任何反应。我希望能够调用一个函数并更改从父级触发的子视图控制器的属性。我做错了什么还是应该换一种方式?
TLDR:从父级触发子视图控制器中的函数
父视图控制器:
// ViewController.swift
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var routeConfirmationView: UIView! //This is the container view that I'm trying to work with
var RouteSelectionViewController: RouteSelectionViewController?
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(routeConfirmationView)
self?.RouteSelectionViewController?.getRidOfLoadingCover(isHidden: true) //The code that isn't doing anything
}
}
容器视图控制器:
import UIKit
class RouteSelectionViewController: UIViewController {
@IBOutlet weak var loadingCoverView: UIActivityIndicatorView!
override func viewDidLoad() {
super.viewDidLoad(
}
//The function that I want to trigger from the other view controller:
func getRidOfLoadingCover (isHidden: Bool){
if (isHidden == true) {
loadingCoverView.alpha = 0
}
else if (isHidden == false) {
loadingCoverView.alpha = 100
}
}
}
【问题讨论】:
-
您真正想在什么时候这样做?如果您尝试在
viewDidLoad()中执行此操作 - 就像您发布的代码一样 - 只需在您的viewDidLoad()中隐藏该视图RouteSelectionViewController。
标签: ios swift xcode uiviewcontroller