【发布时间】:2019-05-19 03:57:37
【问题描述】:
我目前正在 Swift 4 / Xcode 10 中制作一个单视图应用程序,其中有一个动画背景和屏幕上的 6 个按钮,每个按钮都链接到一个单独的 ViewController。当我运行应用程序时,动画背景似乎移到了最前面并挡住了所有按钮。如何使按钮显示在背景前面?
问题是,我没有以编程方式创建按钮,而是从界面构建器的对象库中拖放它们。这就是为什么当我尝试发布here 和here 的解决方案时,它不起作用,因为我不知道是否有任何实际代码引用任何按钮。例如,当我尝试
view.bringSubview(toFront: theButton)
我不知道用什么来代替按钮,甚至不知道在哪里放置那段 sn-p 代码。
以下是我在“主屏幕”视图控制器上的代码。我最紧迫的问题是在哪里插入代码以将按钮移到前面或将背景移到后面。
import UIKit
import AVFoundation
import AVKit
class ViewController: UIViewController {
@IBOutlet weak var videoView: UIView!
override func viewDidLoad() {
super.viewDidLoad()
setupView()
}
private func setupView() {
let path = URL(fileURLWithPath: Bundle.main.path(forResource: "Ocean_Waves_slow_motion_videvo", ofType: "mov")!)
let player = AVPlayer(url: path)
let newLayer = AVPlayerLayer(player: player)
newLayer.frame = self.videoView.frame
self.videoView.layer.addSublayer(newLayer)
newLayer.videoGravity = AVLayerVideoGravity.resizeAspectFill
player.play()
player.actionAtItemEnd = AVPlayer.ActionAtItemEnd.none
NotificationCenter.default.addObserver(self, selector: #selector(ViewController.videoDidPlayToEnd(_:)), name: NSNotification.Name(rawValue: "AVPlayerItemDidPlayToEndTimeNotification"), object: player.currentItem)
}
@objc func videoDidPlayToEnd(_ notification: Notification) {
let player: AVPlayerItem = notification.object as! AVPlayerItem
player.seek(to: CMTime.zero)
}
}
Here 是我的 Main.storyboard 的样子。如果有帮助,层次结构目前是:
查看>视频查看>查看>按钮按钮按钮按钮按钮按钮
【问题讨论】:
标签: ios swift button background