• 回答数

    4

  • 浏览数

    253

zcp1211小窝
首页 > 期刊论文 > 杂志app制作

4个回答 默认排序
  • 默认排序
  • 按时间排序

龚家少爷

已采纳

Core Text是iOS 和OSX 的文本渲染引擎,可以让你自由的控制文本格式和排版。Core Text不同于UIKit和Core Graphics/Quartz(虽然通过后两者你也可以进行文字渲染):在UIKit中,你可以使用UILabel来显示文字,它的操作非常简单,但是你没有办法控制UILabel中单独一个字符的字体颜色。也就是说,没有办法进行富文本的显示。在Core Graphics/Quartz中你可以非常漂亮的做系统所能做的每一件事,但是你必须要自己计算每个字符的位置,然后再把它渲染到屏幕上。也就是说它无法进行文字排版。Core Text 正是以上两点的结合。你既可以控制文字的位置、布局、颜色、大小等等属性,又不需要实际操心字符位置、文字断行等琐事。这篇教程会通过创建一个简单的杂志应用来教你使用Core Text。你将学到:排版文字并渲染到屏幕上;调整文字外观;在文本里嵌入图片;最终创建一个杂志应用。通过简单的操作控制文本格式。这篇教程的读者应该具有基本的iOS开发知识,否则可能需要先google一下入门教程。附://In Core Text you won’t be using NSString, but rather NSAttributedString, as shown CFAttributedString 一段有自己样式(统一不可变)的文字NSMutableAttributedString CFMutableAttributedString 一段有多种样式的文字 -> CGPathGetBoundingBox 得到占用的区域大小 可以得到每行的起始位置3.还可以控制文字横排竖排等 确定文字所需区域大小或指定区域可以显示多少文字 确定区域内点处文字范围NSTextCheckingResult 代表各种链接,时间地址电话网址自定义等。NSDataDector这是一个专门配合NSTextCheckingResult检测是否是特定链接的类。继承于NSRegularExpression类。enumerate 遍历match 匹配的数组numbersOfMatch 匹配的个数1.使用core text就是先有一个要显示的string,然后定义这个string每个部分的样式->attributedString -> 生成 CTFramesetter -> 得到CTFrame -> 绘制其中可以更详细的设置换行方式,对齐方式,绘制区域的大小等。2.绘制只是显示,点击事件呢?就需要一个判断了。CTFrame 包含了多个CTLine,并且可以得到各个line的其实位置与大小。判断点击处在不在某个line上。CTLine 又可以判断这个点(相对于ctline的坐标)处的文字范围。然后遍历这个string的所有NSTextCheckingResult,根据result的rang判断点击处在不在这个rang上,从而得到点击的链接与位置。处理。//CGContextRef context = UIGraphicsGetCurrentContext(); // Flip the coordinate system CGContextSetTextMatrix(context, CGAffineTransformIdentity); CGContextTranslateCTM(context, 0, ); CGContextScaleCTM(context, , );// you’ll use the entire view bounds as the rectangle where you will be drawing by creating a CGPath reference from path = CGPathCreateMutable(); //1 CGPathAddRect(path, NULL, ); //In Core Text you won’t be using NSString, but rather NSAttributedString, as shown here. NSAttributedString is a very powerful NSString derivate class, which allows you apply formatting attributes to text. For the moment we won’t be using formatting – this just creates a string holding plain * attString = [[[NSAttributedString alloc] initWithString:@"Hello core text world!"] autorelease]; //2 //CTFramesetter is the most important class to use when drawing with Core Text. It manages your font references and your text drawing frames. For the moment what you need to know is that CTFramesetterCreateWithAttributedString creates a CTFramesetter for you, retains it and initializes it with the supplied attributed string. In this section, after you have the framesetter you create a frame, you give the CTFramesetterCreateFrame a range of the string to render (we choose the entire string here) and the rectangle where the text will appear when framesetter = CTFramesetterCreateWithAttributedString((CFAttributedStringRef)attString); //3 //Here CTFrameDraw draws the supplied frame in the given frame = CTFramesetterCreateFrame(framesetter, CFRangeMake(0, [attString length]), path, NULL); CTFrameDraw(frame, context); //4 //Finally, all the used objects are releasedCFRelease(frame); //5 CFRelease(path); CFRelease(framesetter); //Just one important thing to remember though: don’t forget to always use CFRelease on the references you get from functions which have “Create” in their name.

93 评论

吥唥靜尐姐

有专用的模板APP的,类似傻瓜照相机,把文章图片扔进去就可以了

210 评论

同济装潢设计

"应用之星“可以免费制作手机杂志app,上面也有不少杂志吧,可以去下载来看看。

319 评论

张伟妮妮

推荐去云展网制作,对电脑没什么要求,将要展示的内容排版设计好保存成PDF格式文档,上传到平台内会转成翻页电子杂志,手机上也能看

194 评论

相关问答

  • 简易电子杂志制作app

    AdobeReader7.只是用来阅读电子杂志的,如果想做的话,可以用AdobeAcrobat,或者Zinemaker。如果你想做得更有个性化,就用Flash吧

    小兔斯基801110 7人参与回答 2023-12-06
  • 手机制作电子杂志app

    推‍荐用名编辑电子杂志大师,不过适合企业用,效‍果非常精美,支持导入PDF/图片的功能很好用,做翻页电子书可以做几百上千页都没问题。除了能生成EXE,还能生成网

    MyronKiven 4人参与回答 2023-12-06
  • 制作杂志样式的app

    能制作杂志封面的P图软件叫Word,具体制作封面的方法如下: 1、通过桌面搜索或快捷方式打开word文档。 2、在界面右侧点击“空白文档”,新建一个空白的文档。

    我是一只喵 4人参与回答 2023-12-06
  • 杂志制作合同

    【实用】合作协议书范文合集五篇 在学习、工作生活中,很多地方都会使用到协议,签订协议可以约束双方履行责任。协议到底怎么写才合适呢?以下是我整理的合作协议书5篇,

    再也再也不吃了 3人参与回答 2023-12-07
  • 杂志设计制作

    杂志版式设计探讨图书版式设计的创新,是具有理论意义和实践意义的,现将几种版式设计的想法与同仁共享。 1.主题形象强化 在进行版式设计构思时,突出、强化主题形象的

    杨杨d妈咪 3人参与回答 2023-12-07