2017-07-29 3 views
0

Ich habe einen Videoframe über Main.storyboard und ich setze ScrollView mit TextView darunter, jetzt ist mein Problem das ScrollView ist nicht auf allen Geräten in der gleichen Position.Hinzufügen von ScrollView unter Videobild

Zum Beispiel, in iPhone 7 Plus ist es in der richtigen Position, aber in der iPhone SE seine verschiedenen gleichen iPad.

Hier ist mein ViewController.swift Code:

import UIKit 
import AVFoundation 
import AVKit 

class ViewController: UIViewController { 

    let playerController = AVPlayerViewController() 
    var player:AVPlayer? 

    @IBOutlet weak var textView: UITextView! 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     let videoString:String? = Bundle.main.path(forResource: "m9", ofType: ".mov") 

     playerController.player = player 
     self.addChildViewController(playerController) 
     let screenSize = UIScreen.main.bounds.size 
     let videoFrame = CGRect(x: 0, y: 30, width: screenSize.width, height: (screenSize.width * 9)/16) 
     playerController.view.frame = videoFrame 
     self.view.addSubview(playerController.view) 
     player?.play() 

Dann habe ich versucht, die Scrollview auf Video-Frame zu verknüpfen:

let frame1 = CGRect(x: 0, y: 350 + videoFrame.height , width: screenSize.width, height: screenSize.height) 

textView.frame = frame1 
+0

Warum die leeren Zeilen und Sachen, die nichts mit Ihrer Frage zu tun hat? –

Antwort

0

einfach den Ausgang des Scroll machen und ihren Rahmen gesetzt wie:

let scrollViewFrame= CGRect(x: 0, y: playerController.view.frame.maxY, width: screenSize.width, height: replace_actual_height) 
scrollView.frame = scrollViewFrame 

Allerdings ist es besser, dafür das automatische Layout zu verwenden, als Frames zu setzen. Hier ist der Link.

Understanding Autolayout

+0

danke viel mann – Babak

0

Dieser Code funktioniert perfekt in der Scroll-Ansicht. Einfache Scroll in avplayerviewcontoller fügen Sie dann Swipe nicht so diesen Code ersetzen ...

let url = // whatever 
let player = AVPlayer(URL:url) 
let av = AVPlayerViewController() 
av.player = player 
av.view.frame = // whatever 
self.addChildViewController(av) 
self.view.addSubview(av.view) 
av.didMoveToParentViewController(self) 

-Code ist HERE

+0

vielen dank – Babak

Verwandte Themen