QQLive HD是QQ专门为iPad开发一款多媒体客户端,用户可以通过该客户端观看电影/电视剧等节目。在WIFI的条件下观看的效果还是不错的。值得称赞的是其主界面用一种写实的风格呈现给用户,给人耳目一新的感觉。

对于我们技术人员来说,看到这样的创意真的是非常羡慕,没办法,谁让人家公司大,有专门的CDC负责这些创意呢!

总的来说QQLive HD 的主界面分成几个部分

1. 电视屏幕窗口

实现方法:使用UIPageControl和UIScrollView实现。

//添加一个PageControl控件,显示热点图片 m_pPageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(340, 378, 200, 50)]; if(m_pPageControl == nil) { return; } [m_pPageControl setNumberOfPages:5]; [m_pPageControl addTarget:self action:@selector(PageTurnResponse:) forControlEvents:UIControlEventValueChanged]; [self.view addSubview:m_pPageControl]; [m_pPageControl release]; //添加一个ScrollView,用于显示图片 m_pImageScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(307, 63, 543, 330)]; if(m_pImageScrollView == nil) { return; } [m_pImageScrollView setShowsHorizontalScrollIndicator:FALSE]; [m_pImageScrollView setBackgroundColor:[UIColor clearColor]]; m_pImageScrollView.delegate = self; [self.view addSubview:m_pImageScrollView]; [m_pImageScrollView release]; //向ScrollView添加图片控件 for(int i = 0; i<5 ; i++) { UIImageView *pImageView = [[UIImageView alloc] initWithFrame:CGRectMake(i*543, 0, 543, 330)]; if(pImageView != nil) { [pImageView setBackgroundColor:[UIColor colorWithRed:(i+1)*0.1 green:(i+1)*0.1 blue:(i+1)*0.1 alpha:1.0]]; [m_pImageScrollView addSubview:pImageView]; [pImageView release]; } } m_pPageControl.currentPage = 0; [m_pImageScrollView setContentSize:CGSizeMake(5*543, 330)];

2. 电影/电视/连续剧/综艺操作按钮

实现方法:使用UIButton实现

//添加电影/电视/电视剧/综艺按钮 UIButton *pMovieButton = [[UIButton alloc] initWithFrame:CGRectMake(100, 560, 247, 176)]; if(pMovieButton == nil) { return; } [pMovieButton setImage:[UIImage imageNamed:@"moive.png"] forState:UIControlStateNormal]; [pMovieButton setImage:[UIImage imageNamed:@"moive.png"] forState:UIControlStateHighlighted]; [pMovieButton addTarget:self action:@selector(MoiveResponse) forControlEvents:UIControlEventTouchDown]; [self.view addSubview:pMovieButton]; [pMovieButton release]; //电视剧按钮放图层的最下面 UIButton *pClassButton = [[UIButton alloc] initWithFrame:CGRectMake(474, 505, 245, 195)]; if(pClassButton == nil) { return; } [pClassButton setImage:[UIImage imageNamed:@"class.png"] forState:UIControlStateNormal]; [pClassButton setImage:[UIImage imageNamed:@"class.png"] forState:UIControlStateHighlighted]; [pClassButton addTarget:self action:@selector(ClassResponse) forControlEvents:UIControlEventTouchDown]; [self.view addSubview:pClassButton]; [pClassButton release]; UIButton *pTVButton = [[UIButton alloc] initWithFrame:CGRectMake(350, 514, 164, 114)]; if(pTVButton == nil) { return; } [pTVButton setImage:[UIImage imageNamed:@"tv.png"] forState:UIControlStateNormal]; [pTVButton setImage:[UIImage imageNamed:@"tv.png"] forState:UIControlStateHighlighted]; [pTVButton addTarget:self action:@selector(TVResponse) forControlEvents:UIControlEventTouchDown]; [self.view addSubview:pTVButton]; [pTVButton release]; UIButton *pEntainmentButton = [[UIButton alloc] initWithFrame:CGRectMake(629, 560, 336, 187)]; if(pEntainmentButton == nil) { return; } [pEntainmentButton setImage:[UIImage imageNamed:@"entainment.png"] forState:UIControlStateNormal]; [pEntainmentButton setImage:[UIImage imageNamed:@"entainment.png"] forState:UIControlStateHighlighted]; [pEntainmentButton addTarget:self action:@selector(EntainmentResponse) forControlEvents:UIControlEventTouchDown]; [self.view addSubview:pEntainmentButton]; [pEntainmentButton release];

3.历史记录按钮

实现方法:使用单独的UIView检测手势操纵,使用UIImageView实现晃动的动画

//添加一个历史记录晃动按钮视图 UIImageView *pHistoryView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 56, 67)]; if(pHistoryView == nil) { return; } NSArray *pImageArray = [NSArray arrayWithObjects:[UIImage imageNamed:@"frame3.png"],[UIImage imageNamed:@"frame1.png"],[UIImage imageNamed:@"frame2.png"], nil]; if(pImageArray == nil) { return; } [pHistoryView setAnimationDuration:2]; [pHistoryView setAnimationRepeatCount:0]; [pHistoryView setAnimationImages:pImageArray]; [pHistoryView startAnimating]; [self addSubview:pHistoryView]; [pHistoryView release];

4.其他的节目就没什么好解释的,就是一些UITableView加一些背景实现。其实我觉得节目列表的呈现方式不大好,不够写实。如果能够真实模拟一些碟片的实体店,和整体的风格也许更符合。

实现后的图片

源码下载: QQLive_HD

Any question: ppnext@163.com

如何在iPad上实现QQLive HD界面相关推荐

  1. xcode 可以打开xmind_如何在 iPad 上玩转 XMind?

    懒人目录 用文件夹做好笔记分类 用主题链接&画布提高导图的可读性 利用分屏功能高效记录笔记 利用「搜索功能」快速定位内容 从捷径中快速创建导图 快捷键和手势 ​ iPad 越来越成为很多的人的 ...

  2. 如何在 iPad 上运行 VSCode

    注:本教程基于 code-server v3.8.0,CentOS 8.2. 补充更新 更推荐以 Docker 方式安装 code-server 服务. 仅需一行命令部署,且无需配置后台运行,自带 G ...

  3. 如何在iPad上使用VScode

    如何在iPad上使用VScode 部署code-server 前提工作: 一台云服务器.iPad上的SSH工具(推荐使用软件Termius) 这里用的是Linux centOS.IPad上用Termi ...

  4. ipad1无法安装应用程序_如何在iPad上的应用程序之间拖放

    ipad1无法安装应用程序 Whenever you need to share information between apps on an iPad, you probably just copy ...

  5. 如何在IPad上优雅地看移动硬盘中的视频

    这里用到的是SMB协议,Win10自带 文章目录 如何开启SMB 如何共享文件 如何在IPad上访问共享文件 如何在IPad上看视频呢? 如何开启SMB 众所周知,windows的SMB默认是关闭的, ...

  6. 实现 QQLive HD 界面的代码

    实现 QQLive HD 界面的代码 总的来说QQLive HD 的主界面分成几个部分: 电视屏幕窗口 实现方法:使用UIPageControl和UIScrollView实现. //添加一个PageC ...

  7. 如何在ipad上玩转思维导图软件

    在iPad 上如何选择思维导图工具?评价一款应用APP是否好用,除了软件自身的功能,很大程度上也取决于用户的体验度.按照东尼博赞的理论,手写的思维导图更有益于人的记忆,但是在实际工作.生活中,对于思维 ...

  8. 如何在iPad上使用YouTube画中画

    Khamosh Pathak Khamosh Pathak Almost every major media app supports Picture-in-Picture on the iPad e ...

  9. ipad 悬浮按钮 自定_如何在iPad上自定义鼠标按钮

    ipad 悬浮按钮 自定 You can now control your iPad with a mouse, and it does much more than just simulate ta ...

最新文章

  1. 如何查询电脑的文件系统的分类是哪一种?
  2. 进程间通信——POSIX 有名信号量与无名信号量
  3. 挑战Redis单实例内存最大极限,“遭遇”NUMA陷阱!
  4. mpvue 小程序 页面跳转获取参数
  5. 深入了解ASP.NET运行内幕
  6. vue怎么合并两个视频_vue怎么把照片合并视频
  7. BScroll案例--如何确定中间部分的高度
  8. 可视化建站cms_帝国CMS教程 | 01.系统运行环境及简介
  9. 【交互设计】手机上的跳转操作
  10. vs2013设置winp#cap开发环境
  11. Typescript基础知识--学习笔记
  12. DARKHOLE_1攻略
  13. java抢微博福卡,敬业福终极攻略:一天拿20多张福卡,轻松集齐支付宝五福
  14. STM32CubeMX快速生成STM32F407ZG芯片寄存器初始化
  15. 嵌入式系统主要应用于哪些行业中?
  16. 传统虚拟化的技术实现
  17. 图片(旋转/缩放/翻转)变换效果(ccs3/滤镜/canvas)
  18. 【英语竞赛】专项练习之翻译
  19. Mybatis的配置文件参数详解
  20. HighNewTech:展望未来之十大颠覆技术

热门文章

  1. unity街机空战游戏截图
  2. 求助!R语言中的图片怎么放大
  3. ctfshow 新手杯web
  4. 计算机音乐必须会各种乐器吗,乐器音乐大会听后感
  5. C# in a Nutshell 系列(3)C#语言基础
  6. Python 的非正式介绍3.9版本
  7. python水浒传名字次数_水浒传人物登场次数数据分析
  8. 历时四个月整理一百篇博客的收获(毕业快乐)
  9. 按键精灵获取当前鼠标位置的颜色值HSL模式
  10. 分享微信微信朋友圈踩坑