iOS視頻的橫豎屏播放

今天同事問了我一個問題,關(guān)于視頻的橫豎屏播放的鞠呈。效果很簡單融师,豎屏的時候,視頻小窗口播放蚁吝,橫屏的時候全屏播放旱爆。因為之前也沒有研究過視頻播放的內(nèi)容,寫了個簡單的demo發(fā)現(xiàn)窘茁,當橫屏?xí)r怀伦,是整個View全部橫過來,如果這時候鋪滿屏幕的話山林,效果和(天天快報房待,今日頭條)實現(xiàn)的不一樣,于是果斷放棄這個思路。

觀察今日頭條的視頻的橫豎屏效果吴攒,當切換橫豎屏是只是視頻小窗口的鋪滿张抄,屏幕并沒有旋轉(zhuǎn),于是解決方案是這樣的洼怔。

關(guān)閉屏幕橫豎屏旋轉(zhuǎn)

![Paste_Image.png](http://upload-images.jianshu.io/upload_images/2286896-b933b70b07f58c7f.png?ima
geMogr2/auto-orient/strip%7CimageView2/2/w/1240)

監(jiān)聽橫豎屏切換

 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientChange:) 
 name:UIDeviceOrientationDidChangeNotification object:nil];

實現(xiàn)同時縮放署惯,旋轉(zhuǎn)

由于改變的都是layer的屬性,所以自帶隱式動畫镣隶,如果想取消隱式動畫

[CATransaction begin];
[CATransaction setDisableActions:YES];
#在commit之前修改屬性值
[CATransaction commit];
  • 旋轉(zhuǎn)效果

CGAffineTransformMakeRotation()
CGAffineTransformRotate()這兩個方法都可以實現(xiàn)旋轉(zhuǎn)极谊,但是CGAffineTransformMakeRotation()這個方法不能和其他動畫效果同時實現(xiàn)。

self.layer.affineTransform = CGAffineTransformRotate(self.layer.affineTransform, [self leftDirectionRotationAngle]);
  • 縮放效果
self.layer.bounds = CGRectMake(0, 0, self.view.frame.size.height, self.view.frame.size.width);
  • 調(diào)用這兩個方法后可實現(xiàn)同時縮放旋轉(zhuǎn)安岂,但是由于layer的錨點為(0.5,0.5),所以旋轉(zhuǎn)縮放都是以layer的中心點實現(xiàn)的效果轻猖,所以要改變layer的position
self.layer.position = CGPointMake(self.layer.position.x, self.view.frame.size.height/2);

動態(tài)計算橫豎屏轉(zhuǎn)換時layer旋轉(zhuǎn)的角度

定義一個當前的屏幕方向

@property (nonatomic, assign) UIDeviceOrientation currentDirection;

#根據(jù)即將要旋轉(zhuǎn)的方向來計算旋轉(zhuǎn)的角度

#即將向左橫屏
- (CGFloat)leftDirectionRotationAngle{
    CGFloat angle = 0;
    switch (self.currentDirection) {
        case UIDeviceOrientationPortrait:
            angle = M_PI_2;
            break;
        case UIDeviceOrientationLandscapeRight:
            angle = M_PI;
        default:
            break;
    }
    return angle;
}
#即將向右橫屏
- (CGFloat)rightDirectionRotationAngle{
    CGFloat angle = 0;
    switch (self.currentDirection) {
        case UIDeviceOrientationPortrait:
            angle = -M_PI_2;
            break;
        case UIDeviceOrientationLandscapeLeft:
            angle = M_PI;
        default:
            break;
    }
    return angle;
}
#即將豎屏
- (CGFloat)potraitDirectionRotationAngle{
    CGFloat angle = 0;
    switch (self.currentDirection) {
        case UIDeviceOrientationLandscapeLeft:
            angle = -M_PI_2;
            break;
        case UIDeviceOrientationLandscapeRight:
            angle = M_PI_2;
        default:
            break;
    }
    return angle;
}

實現(xiàn)效果

flow.2.gif
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市域那,隨后出現(xiàn)的幾起案子咙边,更是在濱河造成了極大的恐慌,老刑警劉巖次员,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件败许,死亡現(xiàn)場離奇詭異,居然都是意外死亡淑蔚,警方通過查閱死者的電腦和手機市殷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來刹衫,“玉大人醋寝,你說我怎么就攤上這事〈伲” “怎么了音羞?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長仓犬。 經(jīng)常有香客問我黄选,道長,這世上最難降的妖魔是什么婶肩? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮貌夕,結(jié)果婚禮上律歼,老公的妹妹穿的比我還像新娘。我一直安慰自己啡专,他們只是感情好险毁,可當我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般畔况。 火紅的嫁衣襯著肌膚如雪鲸鹦。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天跷跪,我揣著相機與錄音馋嗜,去河邊找鬼。 笑死吵瞻,一個胖子當著我的面吹牛葛菇,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播橡羞,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼眯停,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了卿泽?” 一聲冷哼從身側(cè)響起莺债,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎签夭,沒想到半個月后齐邦,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡覆致,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年侄旬,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片煌妈。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡儡羔,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出璧诵,到底是詐尸還是另有隱情汰蜘,我是刑警寧澤,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布之宿,位于F島的核電站族操,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏比被。R本人自食惡果不足惜色难,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望等缀。 院中可真熱鬧枷莉,春花似錦、人聲如沸尺迂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蹲盘,卻和暖如春股毫,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背召衔。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工铃诬, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人薄嫡。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓氧急,卻偏偏與公主長得像,于是被迫代替她去往敵國和親毫深。 傳聞我的和親對象是個殘疾皇子吩坝,可洞房花燭夜當晚...
    茶點故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 我與西安钉寝,兩不相欠 文/李成舜 西安西安 你告訴了我 你的白天黑夜 我留給了你 我的呼吸足跡 我與你 兩不相欠 ...
    爾寒閱讀 276評論 5 5
  • 夜深了 月光連綿而靜默 白日里無憂無慮的孩童 早已沉入夢鄉(xiāng) 一位辛勞的工人 在寂夜中忙碌 心中牽掛著他遠方的家 家...
    雪落嘉木閱讀 294評論 3 4