《iOS 6核心开发手册(第4版)》——2.11节秘诀:构建星星滑块

本节书摘来自异步社区《iOS 6核心开发手册(第4版)》一书中的第2章,第2.11节秘诀:构建星星滑块,作者 【美】Erica Sadun,更多章节内容可以访问云栖社区“异步社区”公众号查看

2.11 秘诀:构建星星滑块
iOS 6核心开发手册(第4版)
评级滑块允许用户在一组图像上拖动他们的手指,对像电影、软件等这样的项目进行评级。这是基于触摸的界面的一项常见的任务,但是简单的UISlider实例不能利用其浮点值很好地完成它。作为替代,像秘诀2-6中构建的选择器可以把用户的选择限制于一组具体的元素,产生一个有界的整数值,它位于0和显示的最大项目数之间。当用户的手指触摸每个星星时,控件的值将会更新,并且会引发相应的事件,允许应用程序像任何其他的UIControl子类一样处理星星滑块。

艺术作品是随意而为的。图2-6中显示的示例使用的是星星,但是没有理由把自己限制于星星。可以使用自己喜欢的任何艺术作品,只要提供“启用”和“禁用”图像即可。可以考虑心形图案、钻石、笑脸等。还可以轻松地更新这个秘诀,在展示前提供星星的起始计数。


6bd09aab1b47b03640dca502f977e0ce13ee52b0

图2-6 秘诀2-6创建一个自定义的星星滑块控件,根据选择绘制每颗星星的动画。
简单的动画块可以导致星星缩小和放大,并且控件的值更新时恢复原状

除了简单的滑动之外,秘诀2-6还添加了动画元素。在获得一个新值时,最右边的星星将添加一个简单的动画块,以进行缩放和恢复原状,除了显目的视觉效果之外,这还可以给用户提供生动的反馈。由于在实际应用中(而不是在图2-6中所示的基于模拟器的截屏图中),用户的手指放在星星的上方,动画使用夸张的变形提供超过预期的手指尺寸之外的反馈。在这里,艺术作品相当小,并将放大到原始尺寸的150%,但是可以轻松地修改应用程序,以匹配自己的需求。

除了最低限度的布局和反馈元素之外,秘诀2-6还沿用了秘诀2-5使用的相同类型的自定义UIControl子类方法,跟踪触摸的生命周期,并在合适的时间引发事件。在这个秘诀中添加星星元素和反馈所需的最低限度的代码演示了UIControl子类化实际上有多简单。


1d8148084d962a095e61de7c4d9d06a864e99f3f


faccd604f7c101338d37ee319c401cb8791930fe

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/541455.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

css框架和js框架_优雅设计的顶级CSS框架

css框架和js框架Brief discussion: 简要讨论: Well, who doesnt want their website or web page to look attractive, stylish and be responsive? 那么,谁不希望自己的网站或网页看起来有吸引力,时尚并且ReactSwift? We put …

软考下午题具体解释---数据流图设计

在历年的软考下午题其中,有五道大题。各自是数据流图的设计,数据库设计,uml图,算法和设计模式,从今天这篇博文開始,小编就跟大家来一起学习软考下午题的相关内容。包含理论上的知识以及典型例题的解说&…

基本程序 打印Scala的Hello World

Scala中的基本程序 (Basic program in Scala) As your first Scala program, we will see a basic output program that just prints "Hello World" or any other similar type of string. With this example, we will see what are the part of the code that is im…

java treemap lastkey_Java TreeMap lastKey()用法及代码示例

java.util.TreeMap.lastKey()用于检索Map中存在的最后一个或最高键。用法:tree_map.lastKey()参数:该方法不带任何参数。返回值:该方法返回映射中存在的最后一个键。异常:如果映射为空,则该方法将引发NoSuchElementException。以下…

mysql属于数据库三级模式_数据库系统的三级模式指的是什么

数据库系统的三级模式指的是什么发布时间:2020-10-26 10:11:21来源:亿速云阅读:52作者:小新小编给大家分享一下数据库系统的三级模式指的是什么,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧&…

《自顶向下网络设计(第3版)》——导读

目录 第1部分 辨明客户的需求和目标 第1章 分析商业目标和制约 1.1 采用自顶向下的网络设计方法 1.2 分析商业目标 1.3 分析商业制约 1.4 商业目标检查表 1.5 小结 1.6 复习题 1.7 设计环境 第2章 分析技术目标与折衷措施 2.1 可扩展性 2.2 可用性 2.3 网络性能 2.4 安全性 2…

python矩阵变化_用numpy改变矩阵的形状

我的问题有两个方面。我有下面的代码来处理一些矩阵。在import numpytupleList [(0, 122), (1, 246), (2, 157), (3, 166), (4, 315), (5, 108), (6, 172), (7, 20), (8, 173), (9, 38), (10, 28), (11, 72), (12, 102), (13, 277), (14, 318), (15, 316), (16, 283), (17, 31…

最小硬币问题_进行更改的最小硬币数量

最小硬币问题Description: 描述: This is classic dynamic programming problem to find minimum number of coins to make a change. This problem has been featured in interview rounds of Amazon, Morgan Stanley, Paytm, Samsung etc. 这是经典的动态编程问题…

java 生成xml乱码_jdom解决中文乱码问题 JAVA生成xml文件帮了我很大的忙

决解了数据库读取出来 再保存到xml 产生的乱码问题import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStreamWriter;import org.jdom.Attribute;import org.jdom.Document;import org.jdom.Element;import org.jdom.output.Format;import org.…

给定重量上限,背包问题_满足给定重量的袋子的最低成本

给定重量上限,背包问题Problem statement: 问题陈述: You are given a bag of size W kg and you are provided costs of packets different weights of oranges in array cost[] where cost[i] is basically cost of i kg packet of oranges. cost[i] -1 means t…

springMVC rest风格

1.dispatcherServlet的配置<!-- The front controller of this Spring Web application, responsible for handling all application requests --><servlet><servlet-name>springDispatcherServlet</servlet-name><servlet-class>org.springfram…

sql2008能否打开mysql数据库_mysql数据库数据能不能导入到sql server中

点“测试”按钮确认你的链接是正确的。 Press the "Test" button to ensure your connection settings are set properly and then the "OK" button when youre done.二. 创建Microsoft SQL到MySQL的链接1.在SQL Server Management Studio中打开一个new qu…

c语言 函数的参数传递示例_isunordered()函数与C ++中的示例

c语言 函数的参数传递示例C isunordered()函数 (C isunordered() function) isunordered() function is a library function of cmath header, it is used to check whether the given values are unordered (if one or both values are Not-A-Number (NaN)), then they are u…

java进一_JAVA小白进:基础入门知识

1.注释&#xff0c;关键字&#xff0c;标识符1.注释(1)注释&#xff1a;解释说明程序的而文字。(2)注释的分类&#xff1a;单行注释 格式&#xff1a; //注释的文字多行注释 格式&#xff1a;/*注释的文字*/文档注释 格式&#xff1a;/**注释的文字*/(3)注释的作用&#xff1a;…

补丁(patch)的制作与应用

为什么80%的码农都做不了架构师&#xff1f;>>> 转自http://linux-wiki.cn/wiki/zh-hans/%E8%A1%A5%E4%B8%81(patch)%E7%9A%84%E5%88%B6%E4%BD%9C%E4%B8%8E%E5%BA%94%E7%94%A8 如果hack了开源代码&#xff0c;为了方便分享&#xff08;如提交Bug&#xff09;或自己…

php知识点汇总与解答_PHP操作员能力倾向问题与解答

php知识点汇总与解答This section contains Aptitude Questions and Answers on PHP Operators. 本节包含有关PHP运算符的 Aptitude问答。 1) Which of the following types of operators are used in PHP? Arithmetic OperatorsLogical OperatorsArray OperatorsString Oper…

csv导入mysql phpmyadmin_【转】从phpMyAdmin批量导入Excel内容到MySQL(亲测非常简洁有效)...

今天做项目遇到需要用phpMyAdmin批量导入Excel内容到MySQL数据库。分析了我的踏坑经历并且总结一最便捷的一套导入数据的方法&#xff0c;非常实用简洁&#xff1a;1、修改Excel表的数据&#xff0c;使得Excel中的字段与数据库字段要一一对应&#xff0c;并加上自增id。2、然后…

weakhashmap_Java WeakHashMap putAll()方法与示例

weakhashmapWeakHashMap类的putAll()方法 (WeakHashMap Class putAll() method) putAll() method is available in java.util package. putAll()方法在java.util包中可用。 putAll() method is used to copy all of the associations or mappings from the given map and assig…

c语言memcmp和java的_C语言memcmp()函数:比较m字节长的两个字符串s1和s2

函数名&#xff1a;memcmp头文件&#xff1a;函数原型&#xff1a; void* memcmp(void *s1,void *s2,unsigned m);功能&#xff1a;比较m字节长的两个字符串s1和s2参数&#xff1a; s1 和 s2 为要比较的字符串unsigned m 为要比较的前m个字节返回值&#xff1a;s1s1s2 返回等…

[下载地址] Subclipse 1.10.9(SVN) _附说明

http://pan.baidu.com/s/1bp6EFHt转载于:https://www.cnblogs.com/gscq073240/articles/6814429.html