实现 QQLive HD 界面的代码
总的来说QQLive HD 的主界面分成几个部分:

电视屏幕窗口

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

  1. //添加一个PageControl控件,显示热点图片
  2. m_pPageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(340, 378, 200, 50)];
  3. if(m_pPageControl == nil)
  4. {
  5. return;
  6. }
  7. [m_pPageControl setNumberOfPages:5];
  8. [m_pPageControl addTarget:self action:@selector(PageTurnResponse:) forControlEvents:UIControlEventValueChanged];
  9. [self.view addSubview:m_pPageControl];
  10. [m_pPageControl release];
  11. //添加一个ScrollView,用于显示图片
  12. m_pImageScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(307, 63, 543, 330)];
  13. if(m_pImageScrollView == nil)
  14. {
  15. return;
  16. }
  17. [m_pImageScrollView setShowsHorizontalScrollIndicator:FALSE];
  18. [m_pImageScrollView setBackgroundColor:[UIColor clearColor]];
  19. m_pImageScrollView.delegate = self;
  20. [self.view addSubview:m_pImageScrollView];
  21. [m_pImageScrollView release];
  22. //向ScrollView添加图片控件
  23. for(int i = 0; i<5 ; i++)
  24. {
  25. UIImageView *pImageView = [[UIImageView alloc] initWithFrame:CGRectMake(i*543, 0, 543, 330)];
  26. if(pImageView != nil)
  27. {
  28. [pImageView setBackgroundColor:[UIColor colorWithRed:(i+1)*0.1 green:(i+1)*0.1 blue:(i+1)*0.1 alpha:1.0]];
  29. [m_pImageScrollView addSubview:pImageView];
  30. [pImageView release];
  31. }
  32. }
  33. m_pPageControl.currentPage = 0;
  34. [m_pImageScrollView setContentSize:CGSizeMake(5*543, 330)];

复制代码

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

实现方法:使用UIButton实现

  1. //添加电影/电视/电视剧/综艺按钮
  2. UIButton *pMovieButton = [[UIButton alloc] initWithFrame:CGRectMake(100, 560, 247, 176)];
  3. if(pMovieButton == nil)
  4. {
  5. return;
  6. }
  7. [pMovieButton setImage:[UIImage imageNamed:@"moive.png"] forState:UIControlStateNormal];
  8. [pMovieButton setImage:[UIImage imageNamed:@"moive.png"] forState:UIControlStateHighlighted];
  9. [pMovieButton addTarget:self action:@selector(MoiveResponse) forControlEvents:UIControlEventTouchDown];
  10. [self.view addSubview:pMovieButton];
  11. [pMovieButton release];
  12. //电视剧按钮放图层的最下面
  13. UIButton *pClassButton = [[UIButton alloc] initWithFrame:CGRectMake(474, 505, 245, 195)];
  14. if(pClassButton == nil)
  15. {
  16. return;
  17. }
  18. [pClassButton setImage:[UIImage imageNamed:@"class.png"] forState:UIControlStateNormal];
  19. [pClassButton setImage:[UIImage imageNamed:@"class.png"] forState:UIControlStateHighlighted];
  20. [pClassButton addTarget:self action:@selector(ClassResponse) forControlEvents:UIControlEventTouchDown];
  21. [self.view addSubview:pClassButton];
  22. [pClassButton release];
  23. UIButton *pTVButton = [[UIButton alloc] initWithFrame:CGRectMake(350, 514, 164, 114)];
  24. if(pTVButton == nil)
  25. {
  26. return;
  27. }
  28. [pTVButton setImage:[UIImage imageNamed:@"tv.png"] forState:UIControlStateNormal];
  29. [pTVButton setImage:[UIImage imageNamed:@"tv.png"] forState:UIControlStateHighlighted];
  30. [pTVButton addTarget:self action:@selector(TVResponse) forControlEvents:UIControlEventTouchDown];
  31. [self.view addSubview:pTVButton];
  32. [pTVButton release];
  33. UIButton *pEntainmentButton = [[UIButton alloc] initWithFrame:CGRectMake(629, 560, 336, 187)];
  34. if(pEntainmentButton == nil)
  35. {
  36. return;
  37. }
  38. [pEntainmentButton setImage:[UIImage imageNamed:@"entainment.png"] forState:UIControlStateNormal];
  39. [pEntainmentButton setImage:[UIImage imageNamed:@"entainment.png"] forState:UIControlStateHighlighted];
  40. [pEntainmentButton addTarget:self action:@selector(EntainmentResponse) forControlEvents:UIControlEventTouchDown];
  41. [self.view addSubview:pEntainmentButton];
  42. [pEntainmentButton release]

复制代码

历史记录按钮

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

  1. //添加一个历史记录晃动按钮视图
  2. UIImageView *pHistoryView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 56, 67)];
  3. if(pHistoryView == nil)
  4. {
  5. return;
  6. }
  7. NSArray *pImageArray = [NSArray arrayWithObjects:[UIImage imageNamed:@"frame3.png"],[UIImage imageNamed:@"frame1.png"],[UIImage imageNamed:@"frame2.png"], nil];
  8. if(pImageArray == nil)
  9. {
  10. return;
  11. }
  12. [pHistoryView setAnimationDuration:2];
  13. [pHistoryView setAnimationRepeatCount:0];
  14. [pHistoryView setAnimationImages:pImageArray];
  15. [pHistoryView startAnimating];
  16. [self addSubview:pHistoryView];
  17. [pHistoryView release];

复制代码

其他的节目

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

实现 QQLive HD 界面的代码相关推荐

  1. 如何在iPad上实现QQLive HD界面

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

  2. Xamarin iOS教程之编辑界面编写代码

    Xamarin iOS教程之编辑界面编写代码 Xamarin iOS的Interface Builder Interface Builder被称为编辑界面.它是一个虚拟的图形化设计工具,用来为iOS应 ...

  3. html实现iphone桌面,HTML_Html5实现iPhone开机界面示例代码,今天我突发其想,想到可以用H - phpStudy...

    Html5实现iPhone开机界面示例代码 今天我突发其想,想到可以用Html5来仿照苹果操作系统做一个能在Web平台运行的ios. 当然,要开发出一个操作系统,等我再归山修练一百年再说吧.今天就先娱 ...

  4. c语言主界面设计菜单系统,c语言界面设计代码的操作步骤,你学会了吗

    学计算机的人都知道C语言,而这也是非常常用的一种计算机编程语言.其实c语言运用得当,完全可以编程很多设计代码,帮助你进行界面设计.今天就让小编为大家介绍c语言界面设计. c语言界面设计代码的操作步骤 ...

  5. android 语音交互动画,Android实现客户端语音动弹界面实例代码

    首先,整体界面分三部分,最上层自定义ActionBar相信不需要我讲大家就能看出来了. 中间部分是文字动弹部分,主体就是一个设置了Padding(margin)的EditText,在EditText下 ...

  6. 慕课网高仿微信主界面完整代码

    微信主界面完整代码 Fragment+ViewPager实现 目录 前言 一.项目结构 二.使用步骤 前言 使用了ViewPager和Fragment的用法.支持滑屏显示界面和点击下标切换界面 . 一 ...

  7. C# WPF界面设计参考 工控机上位机界面 美观炫酷的现代化风格界面设计实际案例分享 界面设计代码

    1.动图效果展示 2.界面1 3.界面2 4.界面3 需要界面效果代码的可留言联系博主

  8. finereport 登录界面的代码文件_Confluence 6 自定义登录界面

    这个页面将会给你一些如何对 Confluence 登录界面进行自定义的一些建议和知道.这个将不会自定义用户的登录过程,只是对用户看到的登录界面进行自定义. 备注: 自定义过后的 Confluence ...

  9. 退出系统并跳转到登录界面 JS代码

    Index.aspx  Login.aspx 在Index.aspx页面写入JS代码: <script language="javascript" type="te ...

最新文章

  1. Oracle SQL标准结构化语言练习
  2. flask_sqlalchemy 多对多重复插入解决办法
  3. 【转】ASP.NET中页面传值
  4. java语言和www技术 阶段性测试一_2018春季【贵州电大】[JAVA语言与WWW技术(省)]04任务阶段性测验(答案)...
  5. 英语语法---感叹词详解
  6. php mysql 随机排序函数_php+mysql实现数据库随机重排实例
  7. SAP Spartacus里使用Observable访问Component数据
  8. mysql创建表属性引_【学习之Mysql数据库】mysql数据库创建表的属性详解
  9. html在线摄像头,在HTML里加载摄像头的方法
  10. Python使用socketServer包搭建简易服务器过程详解
  11. leetcode 53 python 动态规划
  12. 9月安卓机性能榜单公布:华为未进前十,第一名有点意外
  13. PL/SQL Developer 导入外部文件数据
  14. 【算法大赛直播周】如何让人人都可以使用AI技术?北大崔斌教授亲解自动化机器学习
  15. 哈希分区和顺序分区_SQL Server中的哈希分区
  16. 基于SSM的企业人事管理系统(Spring+SpringMVC+Mybatis)
  17. 十套精美个人博客网站模板
  18. SercureCRT软件通过SSH连接ubuntb报错:password authentication failed解决方案
  19. 转——韩寒:一个流传多年的谣言
  20. 史上最全运放运算放大器知识讲解

热门文章

  1. LED水下手电筒行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  2. A6176记事本APP
  3. 10多个下载Photoshop Brushes的最佳网站
  4. root改名字,root重命名
  5. LabVIEW随前面板尺寸的变化而缩放前面板的所有对象
  6. PEX+Kickstart批量装机时,报错:/dev/root does not exits
  7. 890X系列MBN OTA配置方式
  8. 学计算机挂科能考研吗,2020考研:大学挂科对考研有什么影响?
  9. sentos7下yum安装mariadb
  10. wireless-tools源码分析-iwconfig