【发布时间】:2019-03-17 21:28:15
【问题描述】:
这是 UIView 文件的 XIB 所有者
import UIKit
class sideBarContent: UIView {
@IBOutlet weak var userName: UILabel!
@IBOutlet var sideBarContentView: UIView!
let mapviewcontroller = MapViewController()
@IBAction func userProfile(_ sender: UIButton) {
mapviewcontroller.performSegueFromView(stringFromView: "userprofile")
}
而在我的 UIviewcontroller 中
class MapViewController: UIViewController
{
func performSegueFromView(stringFromView:String){
performSegue(withIdentifier: "\(stringFromView)", sender: nil)
}
}
它说我的 segue 标识符不存在,请帮忙,我很迷茫。而且我也无法在 UIView 中执行 segue,我也尝试使用 storyboard ID 方法,但是 present(vc,animated:true,completion:nil) 没有出现。
【问题讨论】:
-
let mapviewcontroller = MapViewController()这是一个新的对象,而不是你想象的那个在故事板中的 segue。如果sideBarContent实例是MapViewController的对象,您可以使用委托模式或闭包告诉MapViewController类型的父实例执行转场。 -
@Larme 我尝试使用委托来告诉 parent ,但是它说我的委托找到了 nil,而且它总是 nil。即使我输入了这样的内容:delegate.dataSentBackToParent(dataString : "userprofile")。请帮忙..
-
您是否设置了
delegate?使用您当前的代码编辑您的问题。
标签: swift uiview uiviewcontroller segue xib