我希望我的几个视图控制器底部有一个播放器。这个播放器由两个视图组成:播放器和一个按钮,用于切换播放器(可以隐藏或展开)。
ios - 我希望我的 View  Controller 具有相互通信的自定义UIView的相同组合-LMLPHP
ios - 我希望我的 View  Controller 具有相互通信的自定义UIView的相同组合-LMLPHP
现在我在每个视图控制器中使用下面的代码来添加这个播放器。

@IBOutlet weak var broadcastView: BroadcastView!
@IBOutlet weak var broadcastViewBottomConstraint: NSLayoutConstraint!
@IBOutlet weak var avatarImageView: UIImageView!

@IBAction func toggleBroadcastMode(_ sender: ToggleBroadcastButton) {
    if sender.isExpanded {
        broadcastViewBottomConstraint.hideBroadcastView()
    } else {
        broadcastViewBottomConstraint.expandBroadcastView()
    }
    animateBroadcastToggle()

    sender.toggle()
    broadcastView.toggleBroadcastView()
}

有没有办法不重复代码一遍又一遍?也许我可以创建父VC或视图来做?如果是,那怎么办?

最佳答案

我个人会将一个UINavigationController子类化并放在其中,这样你就可以在玩家看起来很好的时候在流中导航,如果你需要一个VC来与之交互,那么你就可以

if let nav = navigationController as? MyPlayerNavController {
    nav.PlayThis()
}

你可以让它改变大小和一切从那里,你不会失去它在过渡和类似音乐应用程序播放音乐。

关于ios - 我希望我的 View Controller 具有相互通信的自定义UIView的相同组合,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43677031/

10-11 18:04