源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

iOS开发之运动事件和远程控制

  • 时间:2021-08-21 21:39 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:iOS开发之运动事件和远程控制
之前我们已经学习了触摸处理和手势识别,其实这两个同属于iOS事件的触摸事件,今天我们来学习下iOS事件的另外两个事件: 一、运动事件 运动事件,是通过加速器进行触发,和触摸事件一样,继承UIResponder类的对象才能处理运动事件 UIResponder处理运动事件的方法:
[url=http://stream.jewishmusicstream.com:8000]http://stream.jewishmusicstream.com:8000[/url]"];     _player = [[AVPlayer alloc] initWithURL:url]; } #pragma mark 远程控制事件 - (void)remoteControlReceivedWithEvent:(UIEvent *)event{     if(event.type == UIEventTypeRemoteControl){         switch (event.subtype) {             case UIEventSubtypeRemoteControlPlay:                 [_player play];                 _isPlaying = true;                 break;             case UIEventSubtypeRemoteControlTogglePlayPause:                 [self btnClick:_playButton];                 break;             case UIEventSubtypeRemoteControlNextTrack:                 NSLog(@"Next...");                 break;             case UIEventSubtypeRemoteControlPreviousTrack:                 NSLog(@"Previous...");                 break;             case UIEventSubtypeRemoteControlBeginSeekingForward:                 NSLog(@"Begin seek forward...");                 break;             case UIEventSubtypeRemoteControlEndSeekingForward:                 NSLog(@"End seek forward...");                 break;             case UIEventSubtypeRemoteControlBeginSeekingBackward:                 NSLog(@"Begin seek backward...");                 break;             case UIEventSubtypeRemoteControlEndSeekingBackward:                 NSLog(@"End seek backward...");                 break;             default:                 break;         }         [self changeUIState];     } } #pragma mark 界面布局 - (void)initLayout{     //专辑封面     UIImage *image = [UIImage imageNamed:@"wxl.jpg"];     CGRect *frame = [UIScreen mainScreen].applicationFrame;     UIImageView *imageView = [[UIImageView alloc] initWithFrame:frame];     imageView.image = image;     imageView.contentMode = UIViewContentModeScaleAspectFill;     [self.view addSubview:imageView];     //播放控制面板     UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 480, 320, 88)];     view.backgroundColor = [UIColor lightGrayColor];     view.alpha = 0.9;     [self.view addSubview:view];     //添加播放按钮     _playButton = [UIButton buttonWithType:UIButtonTypeCustom];     _playButton.bounds = CGRectMake(0, 0, 50, 50);     CGFloat playBtnX = view.frame.size.width/2;     CGFloat playBtnY = view.frame.size.height/2;     _playButton.center = CGPointMake(playBtnX, playBtnY);     [self changeUIState];     [_playButton addTarget:self                     action:@selector(btnClick:)           forControlEvents:UIControlEventTouchUpInside];     [view addSubview:_playButton]; } #pragma mark 界面状态 - (void)changeUIState{     if(_isPlaying){         UIImage *pauseImage = [UIImage imageNamed:@"playing_btn_pause_n.png"];         UIImage *pauseImageH = [UIImage imageNamed:@"playing_btn_pause_h.png"];         [_playButton setImage:pauseImage forState:UIControlStateNormal];         [_playButton setImage:pauseImageH forState:UIControlStateHighlighted];     }else{         UIImage *playImage = [UIImage imageNamed:@"playing_btn_play_n.png"];         UIImage *playImageH = [UIImage imageNamed:@"playing_btn_play_h.png"];         [_playButton setImage:playImage forState:UIControlStateNormal];         [_playButton setImage:playImageH forState:UIControlStateHighlighted];     } } - (void)btnClick:(UIButton *)btn{     if (_isPlaying) {         [_player pause];     }else{         [_player play];     }     _isPlaying =! _isPlaying;     [self changeUIState]; } @end
远程控制实例效果 [img]http://files.jb51.net/file_images/article/201604/201604280916503.png[/img] 这次笔记贴了很多代码,是因为这两个事件使用简单,理论知识不多,光讲理论,也不好理解,贴代码非常直观。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部