วิธีแสดงเครื่องเล่นวิดีโอแบบลอยบนตัวควบคุมการดูเพจ

ฉันมี UIPageViewController ที่สร้างอินสแตนซ์ของตัวควบคุมมุมมองสามตัวเพื่อปัดระหว่าง (เช่นเดียวกับ Snapchat) ฉันต้องแสดงตัวควบคุมมุมมองแบบลอยและลากได้ซึ่งจะเล่นวิดีโอที่ย่อขนาดให้เหลือเท่ากับเครื่องเล่นวิดีโอที่ด้านล่างขวา ซึ่งคุณสามารถปัดไปทางซ้ายเพื่อหยุดวิดีโอได้ (เช่นเดียวกับเครื่องเล่นขนาดเล็กของ YouTube)

ปัญหาของฉันคือฉันสามารถสร้างตัวควบคุมมุมมองแบบลอยและลากได้ แต่มินิเพลเยอร์จะมองเห็นได้เฉพาะบนตัวควบคุมมุมมองใดก็ตามที่มันสร้างขึ้น เครื่องเล่นวิดีโอควรมองเห็นได้จากหน้าจอใดก็ได้ นอกจากนี้ ฉันไม่สามารถเพียงปัดเครื่องเล่นขนาดเล็กเพื่อลบออกได้ UIPageViewController ปัดพร้อมกับเครื่องเล่นขนาดเล็ก

นี่คือตัวเลือกของฉัน:

ในตัวแทนแอปของฉัน ฉันสามารถส่งคืนหน้าต่างที่กำหนดเองได้ โดยที่ UIWindow เป็นตัวควบคุมมุมมองของฉัน แต่มองเห็นได้เสมอ โดยที่ฉันจะสร้างมุมมองโดยทางโปรแกรมโดยการเพิ่มมุมมองย่อยและข้อจำกัด ฉันคิดว่าฉันสามารถปัดโปรแกรมเล่นวิดีโอได้เฉพาะเมื่อต้องการเท่านั้น เนื่องจาก UIWindow ซ้อนอยู่เหนือ UIPageViewController:

let myWind = CustomWindow(frame:UIScreen.mainScreen().bounds)
var window: UIWindow? {
    set {

    }
    get {

        return myWind
    }
}

หรือมีวิธีซ้อนตัวควบคุมมุมมองแบบลอยตัวไว้เหนือ UIPageViewController เพื่อให้มองเห็นได้บนตัวควบคุมมุมมองเด็กทั้งหมด โดยที่ฉันสามารถ เท่านั้น ปัดเครื่องเล่นขนาดเล็กไปทางซ้ายและขวาเพื่อลบออกโดยไม่ต้องนำ UIPageViewControllerกับฉันเหรอ?


person slider    schedule 13.10.2015    source แหล่งที่มา


คำตอบ (1)


นี่เป็นคำแนะนำง่ายๆ เพื่อให้คุณสามารถมีเนื้อหาแบบลอยอยู่เหนือ UIPageViewController ของคุณได้

  • ใช้คลาสย่อย UIViewController ธรรมดาเป็น rootViewController ในหน้าต่างของคุณ
  • เพิ่ม UIPageViewController ของคุณเป็น childViewController ให้กับตัวควบคุมมุมมองนี้โดยใช้ API การกักเก็บ
  • เพิ่มมุมมองวิดีโอของคุณไปยังตัวควบคุมมุมมองหลักของคุณ

ด้วยวิธีนี้ คุณจะสามารถจัดการท่าทางบนมุมมองวิดีโอของคุณและยังควบคุม UIPageViewController ของคุณจากตัวควบคุมมุมมองแบบรวมศูนย์เดียว ซึ่งจะทำให้การออกแบบของคุณง่ายขึ้นในที่สุด

person Sandeep    schedule 13.10.2015