毕业设计(论文)-基于iOS的电子阅读器的设计与实现.docx_第1页
毕业设计(论文)-基于iOS的电子阅读器的设计与实现.docx_第2页
毕业设计(论文)-基于iOS的电子阅读器的设计与实现.docx_第3页
毕业设计(论文)-基于iOS的电子阅读器的设计与实现.docx_第4页
毕业设计(论文)-基于iOS的电子阅读器的设计与实现.docx_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

盐城师范学院毕业设计盐 城 师 范 学 院毕业设计基于iOS的电子阅读器的设计与实现 学生姓名 学 院 信息工程学院 专 业 网络工程 班 级 12(1) 学 号 指导教师 2016年 5月 16日 基于iOS的电子阅读器的设计与实现摘 要随着智能手机越来越深入而广泛的应用,当今时代手机不再只是用来打电话、发短信的工具,反而对手机的娱乐等功能要求越来越高。纸质书籍也随着科技的发展越来越少,电子书籍成为了大众的新宠。本次设计主要是对书架、搜索书籍、书籍详情和阅读界面进行需求分析,书架功能是把用户收藏的书籍显示出来的界面;搜索功能主要是用来搜索用户喜爱的书籍;书籍详情功能主要是显示书籍的详细内容;阅读界面功能主要是用来阅读书籍。通过流程图介绍了详细的设计过程,实现书架、搜索书籍、书籍详情和阅读界面等功能。电子阅读器基于iOS平台开发,以Objective-C语言为基础,使用Xcode开发工具进行界面设计,经过调试运行,阅读器能稳定的运行。对于正在学习的学生还是辛勤工作的成人,读书都是不可缺少的一部分。电子阅读器不仅方便人们携带,而且为学生节约了费用。只需知道书籍名称即可快捷地阅读书籍各章节内容,按喜欢的样式惬意地阅读书籍内容。在闲暇之时打开阅读器,找一本喜爱看的书籍,就能找到一份属于自己的喜悦。【关键词】iOS;阅读器;设计;实现全套设计加扣 3012250582Design and implementation of e-reader based on iOSAbstractWith the intelligent mobile phone is more and more thorough and widespread application, in todays era of mobile phone is no longer just used to call, text messaging tool, but on mobile entertainment function and higher. Paper books also less and less with the development of science and technology, electronic books become the new darling of the masses.This design is mainly on the bookshelf, search for books, book details and reading interface of the demand analysis, the functional shelf is the interface to the users favorite books are displayed; search function is mainly used to search the users favorite books; book details function is mainly display book details; reading interface function is mainly used to reading books. Through the flow chart introduced detailed design process, realize the bookshelf, search for books, book details and reading interface. E-reader based on the iOS platform, to Objective-C language based, using Xcode development tools for interface design, after debugging and running, readers can stable operation.For students who are learning or hard work of adult, reading is an indispensable part of. Electronic readers not only convenient for people to read and for students and save the cost of the. In my spare time open the reader, to find a love to read books, you can find a belongs to own joy. Key wordsiOS;E-Reader;Design;Implementation目 录1 绪论11.1 设计背景11.2 设计意义11.3 设计内容和组织结构12 电子阅读器的需求分析22.1 电子阅读器的功能结构图22.2 电子阅读器的运行环境需求32.3 应用开发技术简介32.3.1 iOS简介32.3.2 OC语言32.3.3 Xcode开发工具33 电子阅读器功能模块的设计43.1书架功能的设计43.2 搜索功能的设计43.3 书籍详情功能的设计53.4 阅读功能的设计53.5沙盒数据表64 电子阅读器界面的设计与实现74.1 书架界面的实现84.1.1 书架界面84.1.2 删除图书界面94.2 搜索界面的实现114.3 书籍详情界面的实现134.3.1 书籍详情界面134.3.2 书籍收藏界面134.4 阅读界面的实现154.4.1 阅读界面的文本现实154.4.2 阅读界面的文本分页174.4.3 阅读界面的手势操作204.4.4 阅读界面的设置235 电子阅读器的功能测试245.1 书架删除功能的测试245.2 搜索功能的测试25总 结26参考文献27致 谢281 绪论1.1 设计背景阅读是人类学习知识的一种基本途径。阅读可以增长见识和学问,拓展头脑思路,促进个人进步,改变思维习惯。古人曾说过开卷有益,就是要告诉我们阅读拥有很多好处,多阅读可以充实自己增广见识。阅读虽说不能改变人们的命运,却能改变人们的性格;阅读虽然不能改变人生的起点,但是能改变人生的终点。因此阅读与人息息相关,而随着科技的发展,现代的阅读渐渐的从传统纸质阅读转变为电子阅读这种形式1。如今的电子阅读特别指的是拥有阅读功能的移动设备,如智能手机、平板电脑等。电子阅读之所以会慢慢超越传统阅读的地位,是因为与传统书籍相比,电子阅读易于携带、节省空间、易于传播、方便更新,易于纠正错误并增加信息等。1.2 设计意义在智能手机飞速发展的现在,人们已经离不开手机网络。之前,诺基亚和黑莓占据了非常重要的地位,但随着开源的安卓以及iOS的出现,加上触屏的流行,塞班系统失去了它的优势2。随着科技的发展,现在人们的物质生活越来越丰富,但是人们的生活压力也越来越大,所以在工作闲暇之余,看看电子书籍,也不失为一种调节情绪,放松思考的机会。1.3 设计内容和组织结构本文主要研究如何通过基于Objective-C语言完成对书架、搜索书籍、书籍详情和阅读界面的实现。本设计的组织结构如下所示:1.绪论。本章主要说明了阅读对人类的工作学习和生活的重要性,阐述了阅读方式发展的趋势,简要概括了这个APP设计的背景和意义。2.需求分析。本章主要描述了本设计的使用流程,并附上了应用使用流程图。详细介绍了APP各个功能页面的主要情况和需求介绍,还介绍了制作本设计所用到的各种技术和开发工具,包括了iOS的系统背景、制作APP的OC语言和Xcode开发工具。3.功能模块的设计。本章主要通过流程图描述了阅读器各个功能模块设计的过程。4.应用界面的设计与实现。本章主要阐述了APP各个功能模块的实现技术、效果预览图和关键代码。5.阅读器的功能测试。本章主要说明了测试两个阅读器功能模块的过程。 6.总结。本章主要说明了对本设计的想法和整个设计过程的总结。2 电子阅读器的需求分析作为iOS平台开发的应用,它具有与用户交互的界面,界面美观简洁易于操作。根据APP的功能来划分APP的界面,电子阅读器的用户操作功能分为四个部分,分别是书架功能、搜索功能、书籍详情功能和阅读功能。2.1 电子阅读器的功能结构图电子阅读器总共有4个功能模块,分别是书架功能能、搜索功能、书籍详情功能和阅读功能。以下是应用功能结构图,如图2-1所示:图2-1 应用功能结构图1.书架功能:书架功能是基本的功能,是为了让用户对他喜欢的书籍进行存放的地方,可以查看用户收藏书籍的概况,可以管理用户书籍,删除不需要阅读的书籍。所以在APP上面的工具条上,左边放置了一个删除按钮,右边放置了一个搜索按钮,用于跳转到搜索界面。2.搜索功能:搜索功能也是应用的基本功能,通过豆瓣网的图书接口,可以查询用户所需的书籍,最多同时显示100条信息。工具条下面放置一个searchbar功能块,用来完成搜索功能。在searchbar下面就用tableview来显示查询到的书籍,每条信息使用label来显示书籍的名称和作者,使用imageview显示缩略图。3.书籍详情功能:书籍详情详细介绍了用户收藏的书籍的内容,包括书籍的名称、作者、出版日期、出版社、缩略图、书籍简介。用label来显示名称、作者、出版社和出版日期,用imageview显示缩略图,书籍简介就用textview来显示。在最下面,放置了一个按钮,用来完成加入收藏的功能。4.阅读功能:阅读功能是整个应用最重要的界面,参照了其他阅读器的功能设计。需要具备阅读功能、更改字体大小、更改背景颜色和手势翻页这些基本功能。界面工具条的右侧放置了一个按钮,用来跳转到阅读设置界面,整个阅读功能是使用textview来实现的。2.2 电子阅读器的运行环境需求操作系统:iPhone手机基于iOS操作系统支持环境:iOS8.0以上开发环境:Xcode开发工具2.3 应用开发技术简介2.3.1 iOS简介iOS是由苹果公司开发的移动操作系统。iOS与苹果的Mac OS X操作系统一样,属于类Unix的商业操作系统3。原本这个系统名为iPhone OS,因为iPad,iPhone,iPod touch都使用iPhone OS,所以2010WWDC大会上宣布改名为iOS。2.3.2 OC语言Objective-C语言是根据C语言所衍生出来的语言,继承了C语言的特性,是扩充C的面向对象编程语言。它主要使用于Mac OS X和GNUstep这两个使用OpenStep标准的系统,而在NeXTSTEP和OpenStep中它更是基本语言4。Objective-C可以在gcc运作的系统写和编译,因为gcc含Objective-C的编译器。在MAC OS X系统下,运用苹果提供的SDK等开发工具包,可以用来做iOS开发,开发后的程序在iPhone虚拟机中进行测试,运用的主要语言为Objective-C。与C#类似5。Objective-C仅支持单一父类继承,不支持多重继承。2.3.3 Xcode开发工具Xcode是运行在操作系统Mac OS X上的集成开发工具(IDE),由苹果公司开发。Xcode是开发OS X 和 iOS 应用程序的最快捷的方式。Xcode 具有统一的用户界面设计,编码、测试、调试都在一个简单的窗口内完成。Xcode前身是继承自NeXT的Project Builder6。协力厂商更提供了 GNU Pascal,Free Pascal, Ada, C#, Perl, Haskell和D语言7。Xcode套件使用GDB作为其后台调试工具。3 电子阅读器功能模块的设计3.1书架功能的设计首先进入阅读器后,书架是最外面的界面,能够选择书籍阅读。用户可以选择添加想看的书籍,需要添加就可以进入搜索界面。对于看完的书籍,用户可以选择删除收藏的书籍。需要阅读书籍就可以选择列表中的书籍进行阅读。书架功能设计流程图如图3-1所示:图3-1 书架功能设计流程图3.2 搜索功能的设计当用户需要添加书籍时,可以进入搜索界面,在搜索框输入关键词,下面列表就会出现所有有关的书籍,用户只要点击要看的书籍就能进入详情界面。搜索功能设计流程图如图3-2所示:图3-2 搜索功能设计流程图3.3 书籍详情功能的设计当用户点进想看的书籍后,就能看到书籍的详细信息,用户可以根据这些消息判断是否收藏此书籍。需要收藏,就点击最下端的收藏按钮,这本书就能加入书架。否则返回搜索界面,继续寻找想看的书籍。书籍详情功能设计流程图如图3-3所示。3.4 阅读功能的设计当用户想要阅读书籍,就可以进入阅读界面进行阅读。阅读时可以使用手势翻页并且能够全屏观看。当用户想要改善阅读状况时,可以进入设置界面进行修改。设置里可以更改阅读字体的大小和阅读背景的颜色,更改后可以继续进行阅读。阅读功能设计流程图如图3-4所示。图3-3 书籍详情功能设计流程图图3-4 阅读功能设计流程图3.5沙盒数据表整个APP的图书来源是来自豆瓣网的api接口。通过向豆瓣网提交用户所需参数,返回用户所需的数据。从返回的数据中获取其中关键字,并存到应用自带的沙盒之中,就可以完成一系列删除、收藏等操作。由于iOS系统自带的沙盒,让使用者操作更加简便快捷。沙盒数据表如表3-1所示:表3-1 沙盒数据表字段英文字段名数据类型书籍bookString书籍作者bookAuthorString书籍图片bookImageString书籍名称bookNameString书籍编号bookIDString书籍简介bookIntroSting书籍内容bookTextString出版日期bookDateString4 电子阅读器界面的设计与实现本应用是基于OC语言开发的,使用的是Xcode开发工具。文件列表图如图4-1所示:图4-1 文件列表图如上图所示,可以从图中看出,Reader文件夹中包含了5个子文件夹,分别对应了APP的四个模块和整体框架。1.ReaderDetailView文件夹放置的是关于书籍详情的文件。2.ReaderMainTableView文件夹放置的是关于书架界面的文件。3.ReaderSearchTableView文件夹放置的是搜索界面的文件。4.ReaderView文件夹放置的是阅读界面和阅读设置界面的文件。5.ReaderNavigation文件夹放置的是APP界面顶部工具条的框架。4.1 书架界面的实现本APP的首页就是书架功能。在此界面中,显示了用户收藏的图书,加入了图书删除功能,以及搜索按钮。书架界面截图如图4-2所示:图4-2 书架界面截图4.1.1 书架界面书架整体使用了tableview模块,用label和imageview显示每条数据的图片、名称和作者。每条数据的来源是根据用户收藏书籍时存入沙盒的记录,先根据关键字提取出来,设置为一组,然后放入tableview列表中,这就完成了数据的读取。书架实现代码如下所示: UILabel *bookName=(UILabel*)cell viewWithTag:1;/第一个显示书籍名称 UILabel *bookAuthor=(UILabel*)cell viewWithTag:2;/第二个显示书籍作者 UIImageView *bookImage=(UIImageView *)cell viewWithTag:3;/第三个显示书籍图片 NSArray *n=resultAryvalueForKey:bookName; bookName.text=nindexPath.row; NSArray *a=resultAry valueForKey:bookAuthor; bookAuthor.text=aindexPath.row; NSArray *imageary=resultAry valueForKey:bookImage; NSURL *imageurl = imagearyindexPath.row;bookImage sd_setImageWithURL:imageurl placeholderImage:nil;return cell;4.1.2 删除图书界面在书架界面左上角就是删除按钮。在iOS中,大部分应用的数据都是存在沙盒中的。用户收藏的图书按照关键字储存在沙盒中。当用户按下删除按钮时,系统会根据这个关键字删除这条信息。界面中显示每条图书的label左侧会出现删除确认键,用户只要按下这个按钮,本条图书记录就会被删除。如果再次按下删除按钮,就能够取消删除操作。工具条两边的按钮都是来自系统自带的图案,删除功能是tableview自带的功能模块。删除效果图如图4-3所示:图4-3 删除效果图删除功能代码如下:-(void)tableView:(UITableView*)tableViewcommitEditingStyle:(UITableViewCellEditingStyle) editingStyleforRowAtIndexPath:(NSIndexPath *)indexPath /删除 先找到,然后删除 AppDelegate *delegate = UIApplication sharedApplication delegate; NSManagedObjectContext *context = delegate.managedObjectContext; NSEntityDescription*book=NSEntityDescription entityForName:BookinManaged ObjectContext:context; NSFetchRequest *request = NSFetchRequest new; request setEntity:book; /构造查询条件,相当于where子句 NSArray *cc=resultAryindexPath.row; NSArray *name=cc valueForKey:bookName; NSPredicate*predicate=NSPredicate predicateWithFormat:bookName=%,name; /把查询条件放进去 request setPredicate:predicate;/执行查询 NSManagedObject *obj = context executeFetchRequest:request error:nil lastObject;/删除if (obj) context deleteObject:obj; context save:nil; self bookList; self.tableView reloadData;4.2 搜索界面的实现搜索界面是由searchbar模块和tableview模块完成。用户通过searchbar输入搜寻的关键字,然后系统通过豆瓣api接口,根据这关键字,返回所有包含此关键字的信息。所有返回的信息是通过tableview显示在搜索框的下面,显示的信息包括了书籍的图片、作者和名称,最多一次显示100条数据。调用api接口是使用了AFNetworking框架8。在平时,如果要向网络站点简单地提交请求并获取服务器响应,使用Xcode自带的NSURLConnection就可以完成9。但是,大部分网络页面是受到权限保护的,一般的URL是无法进行能够访问的,这会涉及到Session和Cookie,用NSURLConnection处理起来就比较难了10。AFNetworking就可以很好的处理这些问题,它可以用于发送HTTP请求,接受HTTP的响应,但不会缓存服务器的响应,而且,AFNetworking还支持JSON、plist文件和XML文件的解析11。在这里,创建AFHTTPRequeationManager对象,发送GET请求,等待服务器响应返回数据。搜索界面效果图如图4-4所示:图4-4 搜索界面效果图搜索功能代码如下所示:- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar NSString *keyWord=searchBar.text; NSString*searchURL=NSString stringWithFormat:/v2/book/ search?q=%&count=100,keyWord; NSString*URLencode=searchURL stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding;manager GET :URLencodeparameters:nil success:(AFHTTPRequestOperation *operation, id responseObject) /根据关键词获取书籍内容 array=responseObject; arrays=array valueForKey:books; authors=arrays valueForKey:author; self.tableView reloadData;failure:(AFHTTPRequestOperation *operation, NSError *error) NSLog(error %,error);/输出错误内容 ;4.3 书籍详情界面的实现4.3.1 书籍详情界面当用户搜索到想要的书籍时,点击列表中的书籍,就能进入到书籍详情界面。详细信息中介绍了书籍的作者、出版社、出版日期和简介。这些信息是来自于之前搜索时返回的数据,其中简介使用了textview模块,如果内容超出显示范围,就会自动生成滚动条进行滚动阅读。书籍详情效果图如图4-5所示:书籍详情代码如下所示:-(void)showDetail _bookName.text=bookDetail valueForKey:title;/获取书籍名字 NSString *string=authors componentsJoinedByString:,; _bookAuthor.text=string;/转化作者格式 _bookPublisher.text=bookDetail valueForKey:publisher; _bookSummary.text=bookDetail valueForKey:summary; _bookDate.text=bookDetail valueForKey:pubdate; NSURL *imageUrl=bigImages valueForKey:large; _bookImage sd_setImageWithURL:imageUrl placeholderImage:nil;4.3.2 书籍收藏界面当用户觉得搜索到的书籍值得阅读,就可以点击最下面的收藏Button进行收藏操作。按下按钮后,系统会把此书籍的关键字存入沙盒之中,等待下次使用。当使用时,应用会执行setPredicate查询操作。如果此条数据已存在沙盒之中,那么系统会判定此次操作不成功,收藏失败,并会跳出提示框,告知用户此书籍已被收藏。书籍收藏效果图如图4-6所示。图4-5 书籍详情效果图图4-6 书籍收藏效果图书籍收藏代码如下所示: /构造查询条件,相当于where子句 NSArray *name=bookDetail valueForKey:title; NSPredicate*predicate=NSPredicate predicateWithFormat:bookName=%,name; /把查询条件放进去 request setPredicate:predicate; /执行查询 NSArray *nameAry = context executeFetchRequest:request error:nil;if (nameAry.count=0) NSManagedObject*book=NSEntityDescription insertNewObjectForEntityForName:Book inManagedObjectContext:context; /设置实体属性值 book setValue:bookDetail valueForKey:title forKey:bookName; NSString *str=authors componentsJoinedByString:,; book setValue:str forKey:bookAuthor; NSURL *imageUrl=bookDetail valueForKey:image; book setValue:imageUrl forKey:bookImage; /调用context,保存实体,如果没有成功,返回错误信息 NSError *error; if (context save:&error) NSLog(save ok); else NSLog(%,error); 4.4 阅读界面的实现4.4.1 阅读界面的文本现实当用户收藏书籍后,就能在书架显示出来。点击书籍,就能进入阅读界面。首先要获取需要阅读的txt文档,阅读功能在收到用户的请求后,就会从豆瓣图书api中获取该书籍的内容,把获取的内容转换成二进制data,然后再把它转化成我们所需的nsstring类型,显示在手动创建的textview上。阅读界面效果图如图4-7所示:图4-7 阅读界面效果图相关代码如下所示: reading=UITextView allocinitWithFrame:CGRectMake(0,0,self.view.frame.size.width, self. view.frame.size.height);/设定文本框大小 reading.editable=NO; reading.backgroundColor=UIColor colorWithPatt ernImage:UIImage image Named:bg1.png; reading.delegate=self; text=NSString stringWithContentsOfFile:NSBundle mainBundlepathForResource: 6347 ofType:txtencoding:NSUTF8StringEncoding error:nil;/获取书籍内容 textStr=NSAttributedString allocinitWithString:text attributes:_dic; reading.backgroundColor=_backgCol;/设定阅读背景 if (self paging=NO) /判断是否分页 reading.textStorage setAttributedString:textStr; else reading.textStorage setAttributedString:textStr attributedSubstringFrom Range:NSMakeRange(0, charsPerPage) mutableCopy;4.4.2 阅读界面的文本分页现在内容已经显示在textview上,但需要做成手势翻页就先要把文字分割成一页,是一个很大的难点,也是整个程序需要重点注意的地方。如果只是把整个文档放在textview上,一页篇幅就会特别长,会出现滚动条的效果,但这不是所想要的效果,所以必须进行分割12。分割就是对字段进行重新排版。总体方案是先计算整个文本的长度,然后设定每一页字数的标准,这样就能计算出总页数,固定了每一页的内容后,只要滑动界面就能把这一页的内容删除然后把后一页的内容提到前面来。以此类推,就能实现了翻页的功能。但是,有些页面中的空格或标点符号过多,就会导致文字内容偏少,界面下方会空出一大块空白,这会使阅读效果变差。为此,做了一点小变化,就是设定一个理想状态,计算出每页的字符数和尺寸,如果出先超过这尺寸的情况时,就减少这一页的字符数,直到符合这个标准。在阅读界面中,含有改变字体这一功能,因此字体的大小改变会改变之前计算的总页数。所以,在对字体大小改变的同时,获取字体的高度,然后把它传递给textview,进行重新排版,从而实现改变文字大小。文字大小效果如图4-8、4-9所示:图4-8 文字大小效果图图4-9 文字大小效果图相关代码如下所示: NSUInteger width=(int)self.view.bounds.size.width-20.0; NSUInteger height=(int)self.view.bounds.size.height; CGRect frame=text boundingRectWithSize:CGSizeMake(width, CGFLOAT_MAX) options:NSStringDrawingUsesLineFragmentOrigin attributes:_dic context:nil;/设定分页的大小 if (frame.size.height 1000) /判断字数是否大于1000 ,大于就强制分页 referCharactersPerPage=1000; NSRange range=NSMakeRange(referCharactersPerPage,referCharacters PerPage); NSString *pageText=text substringWithRange:range; CGRect pageTextFrame=pageText boundingRectWithSize:CGSizeMake (width, CGFLOAT_MAX) options:NSStringDrawingUsesLineFragmentOrigin attributes:_dic context:nil; while (pageTextFrame.size.heightheight) referCharactersPerPage-=2; range=NSMakeRange(0, referCharactersPerPage); pageText=text substringWithRange:range; pageTextFrame=pageText boundingRectWithSize:CGSizeMake(width, CGFLOAT_MAX) options:NSStringDrawingUsesLineFragmentOrigin attributes:_dic context:nil; charsPerPage=referCharactersPerPage; totalPages=(int)text.length/charsPerPage+1; charsOfLastPage=textLength-(totalPages-1)*charsPerPage; return YES;4.4.3 阅读界面的手势操作首先是点击操作,当点击屏幕时,工具条会自动隐藏,实现全屏功能。当用户向左滑动屏幕时,先判断是否是第一页,如果当前页数为1,那么系统会跳出提示框,提示这已是第一页。如果不是,则把当前页数加一,删除当前页面内容,把后一页内容提到此页面。向右滑动屏幕与之相反,到达最后一也就会提示已到最后一页。翻页时产生动画效果是由系统自带的效果形成。手势翻页效果图如图4-10所示:图4-10 手势翻页效果图提示框效果图如图4-11所示:图4-11 提示框效果图手势翻页代码如下所示: if (cont+%2=0) self.navigationController setNavigationBarHidden:YES animated:YES; else self.navigationController setNavigationBarHidden:NO animated:YES; if (currentPage = totalPages) UIAlertView * alertView = UIAlertView alloc initWithTitle:温馨提示 message:这已是最后一页 delegate:self cancelButtonTitle:取消 otherButtonTitles:确定, nil;/设置提示框 alertView show; return; else UIView beginAnimations:nil context:nil; UIView setAnimationDuration:0.1; if (currentPage=totalPages-1) /判断是否需要翻页 reading.textStorage setAttributedString:textStr attributedSubstring FromRange:NSMakeRange(currentPage)*charsPerPage, charsOfLastPage) mutableCopy; else reading.textStorage setAttributedString:textStr attributedSubstring FromRange:NSMakeRange(currentPage)*charsPerPage, charsPerPage) mutableCopy; UIView commitAnimations; UIView beginAnimations:nil context:nil; UIView setAnimationDuration:1; UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES; UIView commitAnimations; currentPage = currentPage + 1; self.title= NSString stringWithFormat:%d/%d,currentPage,totalPages; return; if (currentPage = 1) UIAlertView * alertView = UIAlertView alloc initWithTitle:温馨提示 message:这已是第一页 delegate:self cancelButtonTitle:取消 otherButtonTitles:确定, nil; alertView show; return; UIView beginAnimations:nil context:nil; UIView setAnimationDuration:0.1; reading.textStorage setAttributedString:textStr attributedSubstring FromRange:NSMakeRange(currentPage-2)*charsPerPage, charsPerPage) mutableCopy; UIView commitAnimations; UIView beginAnimations:nil context:nil; UIView setAnimationDuration:1; UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.view cache:YES; UIView commitAnimations; currentPage = currentPage - 1; self.title = NSString stringWithFormat:%d/%d,currentPage,totalPages; return;4.4.4 阅读界面的设置由于本人技术还不够熟练,无法把阅读设置工具条直接显示在阅读界面中,所以用按钮跳转到另一个界面进行操作。阅读设置中可以改变文字的大小和阅读背景的颜色。具体操作代码如下所示:- (IBAction)small:(id)sender fontSize=UIFont systemFontOfSize:11.0;/设置小型字体- (IBAction)middle:(id)sender fontSize=UIFont systemFontOfSize:14.0;/设置中型字体- (IBAction)big:(id)sender fontSize=UIFont systemFontOfSize:16.0;/设置大型字体- (IBAction)green:(UIButton *)sender fontSize=UIFont systemFontOfSize:14.0; backCol=UIColor colorWithPatternImage:UIImage i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论