网站大量收购闲置独家精品文档,联系QQ:2885784924

无限互联iOS开发实战项目一之--评分视图(星星封装)详解..doc

无限互联iOS开发实战项目一之--评分视图(星星封装)详解..doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
无限互联iOS开发实战项目一之--评分视图(星星封装)详解.

无限互联iOS开发实战项目一之-- 评分视图(星星封装)详解 学习要点: 1、面向对象思想 2、对于背景图片平铺的理解 3、自定义视图的可扩展性 内容部分: 一.需求分析: 如上图所示: 1、星星视图包括:星星视图、评分视图(其中星星视图包括评分星星的为黄色,为达到评分的星星视图为灰色)。 2、我们在项目中会多次用到评分的星星视图,所以我们用面向对象的思想,把星星的整体视图封装成一个自定义视图。 3、既然要封装成独立的视图,我们就要考虑我们这个视图的灵活性: (1)在每一个页面的视图的星星大小可能不一样 (2)评分文字视图的样式、评分视图的字体颜色大小等 (3)我们视图的大小要根据什么设置 (4)我们整个视图是可以动态设置大小的,评分的文字是否也得需要自动的调节大小那 (5)功能分析,我们是根据分数去展示星星视图的平铺效果 二.技术实现: 1、实现思路: (1)为了优化APP的性能,我们采取背景平铺图片去设置图片 (2)怎么实现背景平铺:uiview通过colorWithPatternImage:去设置背景颜色,关键是UIView的大小设置怎么能达到我们预想的效果那,首先uiview的高度为(星星图片的高度),宽度为(星星图片的宽度*5)这样我们就显示了5个星星。如何设置视图的大小,通过transform设置UIView的缩放比例,设置到我们想要的大小; (3)黄色星星显示:我们通过覆盖效果去实现,灰色的星星我们设置5个放在底部,在创建一个黄色星星的视图放在灰色星星的上部分,只需要设置视图的宽度,黄色星星会自动被截取 (4)评分文本:要实现我们页面显示的效果,通过系统内置的字体无法达到我们想要的效果,我们怎么做?(用3个UILabel去实现,只需调整位置我们就可以实现我们想要的效果); 2、实现代码 (1)WXRatingView.h (2) WXRatingView.m 总结:本文通过实现一个自定义的星星视图,让我们学会如何封装一个自定义的控件,封装一个自定义的控件要注意哪些,重要是考虑自定义控件的灵活和可扩展性; 代码: WXRatingView.zip 作者:朱思明? 出处:无限互联3G学院http://www.iphonetrain?.com 本文版权归作者和无限互联3G学院共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 ? // // WXRatingView.h // WXMovie // // Created by 朱思明 on 13-8-30. // Copyright (c) 2013年 朱思明. All rights reserved. // #import UIKit/UIKit.h @interface WXRatingView : UIControl { float _scale;//缩放比例 NSMutableArray *_subViewArray;//存放子视图的数组 } @property(nonatomic,assign)float scoreNum;//分数属性 //自定义初始化方法参数说明(frame:坐标正常布局,大小只需要给视图的高度就可以,宽度是自动调节的) (id)initWithFrame:(CGRect)frame labelTextColor:(UIColor *)labelTextColor; @end // // WXRatingView.m // // Created by 朱思明 on 13-8-30. // Copyright (c) 2013年 朱思明. All rights reserved. // #import WXRatingView.h #define starWidth 35 //图片的宽度 #define starHeight 33 //图片的高度 /* *正常星星大小(星星的大小根据我们视图的高度动态去设定) *星星的大小我们设置为视图高度的60%,上下空闲位置均为20% *缩放比例 *星星的高度 / 图片的高度 = 我们想要的比例 */ #define scale(height) height * .6 /starHeight @implementation WXRatingView - (id)initWithFrame:(CGRect)frame labelTextColor:(UIColor *)labelTextColor { self = [super initWithFrame:frame]; if (self) {

文档评论(0)

yxnz + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档