私は、その中にたくさんのYouTube動画を持つテーブルビューを保持するVideoTableControllerクラスを持っています。webViewの読み込み速度を向上させる方法
ビデオが選択されると、指定されたyoutubeビデオを再生するWebビューを持つ別のView Controllerが起動されます。
私はvideoTableControllerのprepareForSegue関数でビデオをロードするようにしましたが、VideoPlayerコントローラがまだインスタンス化されていないので、video_view:UIWebViewの値を変更できませんprepareForSegue関数です。
このvideoPlayer()をprepareForSegue関数でインスタンス化してからVideoPlayer.video_view.loadHTMLString()の値を変更すると、videoPlayerが別のインスタンスがインスタンス化されるようにseguedするかどうかがわかりました?ここで
は、私は現在、私のVideoPlayerクラスに持っているものである:ここでは
var video_player_url = ""
class VideoPlayer: UIViewController {
@IBOutlet weak var video_view: UIWebView!
override func viewDidLoad() {
self.video_view.loadHTMLString("<iframe width=\"\(video_view.frame.width)\" height=\"\(video_view.frame.height)\" src=\"https://www.youtube.com/embed/\(video_player_url)\" frameborder=\"0\" allowfullscreen></iframe>", baseURL: nil)
super.viewDidLoad()
// Do any additional setup after loading the view.
}
はそれを呼び出す私のvideoTableControllerクラスです:prepareForSegueで
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
self.performSegueWithIdentifier("video_player_segue", sender: self)
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let indexPath = self.tableView.indexPathForSelectedRow
video_player_url = video_urls[indexPath!.row]
}
はあなたに感謝! –