摘要: 为什么要自己实现一个放大镜视图呢,因为上一篇中说的TextKit的问题,所以正好趁这个机会来自己做些iOS中本来就有的东西,比如文字选择效果、编辑菜单什么的,权当是练习了。标题虽然说是自己实现,不过还是参照了别人的先进经验啦,见这里。这个实现的基本原理,是新建一个视图(MagnifierView)并显示,然后将要放大的视图的图层通过放大平移渲染在这个视图中。对我来说,其中最关键的代码是这个:- (void)drawRect:(CGRect)rect { CGContextRef context = UIGraphicsGetCurrentContext(); CGContextTr... 阅读全文
posted @ 2014-02-27 21:38 Sinkup 阅读(2630) 评论(0) 推荐(0) 编辑
摘要: 之前在做一个简单的阅读器练习,主要是想学习一下iOS7中新增的Text Kit框架。但在练习过程中发现,UITextView中的文字不能选择,不管是长按还是双击,都不出现放大镜或编辑菜单。经过多种尝试无果,并在网上寻找提问也没能得到解答。一番折腾之后,问题的关键所在算是渐渐清晰了,虽然现在仍然没有找到解决方案。下面是Text Kit的几种使用模型,其中一种就会导致我上面所说的问题。Text Kit中包含NSTextStorage、NSLayoutManager、NSTextContainer三个类,一个NSTextStorage可以有一个或多个NSLayoutManager,一个NSLayou 阅读全文
posted @ 2014-02-25 23:52 Sinkup 阅读(1280) 评论(0) 推荐(0) 编辑
摘要: 最近在看一个开源项目的代码(iOS上的抽屉式视图MMDrawerController,Github地址:https://github.com/mutualmobile/MMDrawerController),当看到其中一个地方的时候,发现自己的基础知识真是太渣了。。。问题是这样的:类B有两个实例方法method1和method2,method1中调用了method2;类D继承自类A,并实现了自己的method1和method2,然后在D的method1中通过super调用父类A的method1。那么,最后执行的是父类A的method2还是子类B的method2呢?经过一番验证,自然是得到了答案 阅读全文
posted @ 2014-01-21 22:49 Sinkup 阅读(1534) 评论(0) 推荐(0) 编辑
摘要: 首先,这真是个挺蛋疼的问题。UIScrollView,即可滚动视图。我参考的书上关于UIScrollView的讲解并不多,只是三言两语再加一个小例子。但是在根据例子做完之后发现,它竟然滚不起来。contentSize属性的值我也按照书上的方法设置了,又怀疑值设得不够大改了又改,还是没用。Attributes inspector里面找看着像的地方选上或是取消勾选,也还是没用……然后。。。我猜测是版本的原因,因为书讲的是iOS5,而我用的是6.1的sdk。于是去查UIScrollView的文档,但是没找到有关的信息。怎么办呢真捉急。。。后来。。。已经忘了当时是怎么发现问题所在的了,大概是在摆弄Sc 阅读全文
posted @ 2013-03-08 00:44 Sinkup 阅读(3595) 评论(0) 推荐(1) 编辑