iOS开发--QQ音乐练习,旋转动画的实现,音乐工具类的封装,定时器的使用技巧,SliderBar的事件处理

一.旋转动画的实现

二.音乐工具类的封装 -- 返回所有歌曲,返回当前播放歌曲,设置当前播放歌曲,返回下一首歌曲,返回上一首歌曲方法的实现

  • 头文件

  • .m文件
     1 #import "ChaosMusicTool.h"
     2 #import "MJExtension.h"
     3 #import "ChaosMusic.h"
     4 
     5 static NSArray *_musics;
     6 static ChaosMusic *_playingMusic;
     7 
     8 @implementation ChaosMusicTool
     9 
    10 + (void)initialize
    11 {
    12     if (_musics == nil) {
    13         _musics = [ChaosMusic objectArrayWithFilename:@"Musics.plist"];
    14     }
    15     // 设置默认当前播放歌曲
    16     _playingMusic = _musics[1];
    17 }
    18 
    19 /** 返回所有歌曲 */
    20 + (NSArray *)musics
    21 {
    22     return _musics;
    23 }
    24 /** 返回正在播放歌曲 */
    25 + (ChaosMusic *)playingMusic
    26 {
    27     return _playingMusic;
    28 }
    29 /** 返回下一首 */
    30 + (ChaosMusic *)nextMusic
    31 {
    32     // 1.获得当前播放歌曲的索引
    33     NSInteger index = [_musics indexOfObject:_playingMusic];
    34     // 2.判断下一个索引
    35     NSInteger nextIndex = ++index;
    36     if (nextIndex >= _musics.count) { // 是否超出界限
    37         nextIndex = 0;
    38     }
    39     return _musics[nextIndex];
    40 }
    41 
    42 /** 返回上一首 */
    43 + (ChaosMusic *)previousMusic
    44 {
    45     // 1.获得当前播放歌曲的索引
    46     NSInteger index = [_musics indexOfObject:_playingMusic];
    47     // 2.判断下一个索引
    48     NSInteger previousIndex = --index;
    49     if (previousIndex < 0) { // 是否超出界限
    50         previousIndex = _musics.count - 1;
    51     }
    52     return _musics[previousIndex];
    53 }
    54 /** 设置当前播放歌曲 */
    55 + (void)setPlayingMusic:(ChaosMusic *)music
    56 {
    57     _playingMusic = music;
    58 }
    59 @end

三.定时器的使用技巧 -- 定义好了定时器后,添加两个方法,一个是添加定时器的方法,另一个是移除定时器的方法.

  • 使用的时候也要注意,一定先移除之前的timer,然后再添加timer

四.SliderBar的事件处理

原文地址:https://www.cnblogs.com/gchlcc/p/5582457.html