如何在iPad上实现QQLive HD界面
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界面相关推荐
- xcode 可以打开xmind_如何在 iPad 上玩转 XMind?
懒人目录 用文件夹做好笔记分类 用主题链接&画布提高导图的可读性 利用分屏功能高效记录笔记 利用「搜索功能」快速定位内容 从捷径中快速创建导图 快捷键和手势 iPad 越来越成为很多的人的 ...
- 如何在 iPad 上运行 VSCode
注:本教程基于 code-server v3.8.0,CentOS 8.2. 补充更新 更推荐以 Docker 方式安装 code-server 服务. 仅需一行命令部署,且无需配置后台运行,自带 G ...
- 如何在iPad上使用VScode
如何在iPad上使用VScode 部署code-server 前提工作: 一台云服务器.iPad上的SSH工具(推荐使用软件Termius) 这里用的是Linux centOS.IPad上用Termi ...
- ipad1无法安装应用程序_如何在iPad上的应用程序之间拖放
ipad1无法安装应用程序 Whenever you need to share information between apps on an iPad, you probably just copy ...
- 如何在IPad上优雅地看移动硬盘中的视频
这里用到的是SMB协议,Win10自带 文章目录 如何开启SMB 如何共享文件 如何在IPad上访问共享文件 如何在IPad上看视频呢? 如何开启SMB 众所周知,windows的SMB默认是关闭的, ...
- 实现 QQLive HD 界面的代码
实现 QQLive HD 界面的代码 总的来说QQLive HD 的主界面分成几个部分: 电视屏幕窗口 实现方法:使用UIPageControl和UIScrollView实现. //添加一个PageC ...
- 如何在ipad上玩转思维导图软件
在iPad 上如何选择思维导图工具?评价一款应用APP是否好用,除了软件自身的功能,很大程度上也取决于用户的体验度.按照东尼博赞的理论,手写的思维导图更有益于人的记忆,但是在实际工作.生活中,对于思维 ...
- 如何在iPad上使用YouTube画中画
Khamosh Pathak Khamosh Pathak Almost every major media app supports Picture-in-Picture on the iPad e ...
- ipad 悬浮按钮 自定_如何在iPad上自定义鼠标按钮
ipad 悬浮按钮 自定 You can now control your iPad with a mouse, and it does much more than just simulate ta ...
最新文章
- 如何查询电脑的文件系统的分类是哪一种?
- 进程间通信——POSIX 有名信号量与无名信号量
- 挑战Redis单实例内存最大极限,“遭遇”NUMA陷阱!
- mpvue 小程序 页面跳转获取参数
- 深入了解ASP.NET运行内幕
- vue怎么合并两个视频_vue怎么把照片合并视频
- BScroll案例--如何确定中间部分的高度
- 可视化建站cms_帝国CMS教程 | 01.系统运行环境及简介
- 【交互设计】手机上的跳转操作
- vs2013设置winp#cap开发环境
- Typescript基础知识--学习笔记
- DARKHOLE_1攻略
- java抢微博福卡,敬业福终极攻略:一天拿20多张福卡,轻松集齐支付宝五福
- STM32CubeMX快速生成STM32F407ZG芯片寄存器初始化
- 嵌入式系统主要应用于哪些行业中?
- 传统虚拟化的技术实现
- 图片(旋转/缩放/翻转)变换效果(ccs3/滤镜/canvas)
- 【英语竞赛】专项练习之翻译
- Mybatis的配置文件参数详解
- HighNewTech:展望未来之十大颠覆技术