1.先看一下圖層 下:VC.view 中:containerView 上:playerView(button為subview,用於觸發旋轉操作) 2.真相探究 核心1. rect轉換--- [superView convertRect:superView.bounds ...
場景分析 不限於此項目與此應用場景 : 底層:播放器正在播放並展示當前播放進度 : 上層:控制 amp 更新播放進度,拖動進度條,結束拖動,需要知道進度更新到具體時間,用於執行seekToTime 拖動結束時知道當前拖動的位移,根據位移與視頻總時間的比例計算seekToTime的值 而 : 就可以通過協議中屬性獲取,由底層播放器類實現setter和getter方法 demo模擬 .在viewco ...
2018-09-20 15:47 0 780 推薦指數:
1.先看一下圖層 下:VC.view 中:containerView 上:playerView(button為subview,用於觸發旋轉操作) 2.真相探究 核心1. rect轉換--- [superView convertRect:superView.bounds ...
1.視頻播放器添加到containerView的機制與一個普通播放器頁面的不同 普通視頻播放頁面可以直接添加一個播放器,按照正常邏輯播放、暫停、切換等操作,而視頻列表的做法是 用戶觸發播放動作 當點擊一個cell上的播放按鈕時,首先判斷當前是否有其他cell在播放視頻,有則停止播放並移除 ...
核心1. AVPlayerLayer 用於顯示視頻 核心2. 監聽播放相關屬性 A. status: AVPlayerStatusReadyToPlay---視頻就可以播放了 AVPlayerStatusFailed---視頻加載失敗 ...
有時候,我們會想在別人的類中添加一個屬性.這個屬性只會在自己的模塊用到,在其它地方無用.那么現在就用兩個方案: 1,直接在原類中添加一個屬性 2,寫一個分類,在分類中將這個屬性加進去. 這兩種方案實現的異同: 同:都能達到在已有的類中添加一個屬性的需求. 異 ...
1.首先在分類文件中導入頭文件 #import <objc/runtime.h> 2.實現代碼如下: (1).h定義文件 #import <UIKit/UIKit ...
一、背景 前段時間對我們自己的App做了結構上的重構,拋棄了之前簡單的MVC開發模式,原因是隨着App的業務線越來越多,單個頁面的功能越來越復雜,MVC開發模式導致整個Controller-layer的代碼越來越多。本文將分享重構中的Router模塊。 使用路由模式可以解決我們項目中頁面 ...
http://blog.csdn.net/shengyumojian/article/details/44919695 在ios運行過程中,有幾種方式能夠動態的添加屬性。 1-通過runtime動態關聯對象 主要用到了objc_setAssociatedObject ...
####4.給分類添加屬性 * 原理:給一個類聲明屬性,其實本質就是給這個類添加關聯,並不是直接把這個值的內存空間添加到類存空間。 ``` @implementation ViewController - (void ...