小编Joh*_*adj的帖子

实现绘图功能的最佳方式,如Keynote

我正在尝试制作一个小工具来绘制简单的几何对象(矩形,圆角矩形,椭圆形,星形......).我的目标是制作一些非常接近Keynote(绘图功能)的东西,即让用户添加一个rect(例如),调整它并移动它.我也想要用户可以选择多个对象并将它们一起移动.

我已经考虑过至少3种不同的方法:

  • 扩展UIView用于每个对象类型,一个用于Rect的类,另一个用于Ellipse,...用自定义绘图方法.然后将此视图添加为全局视图的子视图.
  • 扩展CALayer为每个对象类型,一个类为Rect,另一个为Ellipse,...使用自定义绘图方法.然后将此图层添加为全局视图图层的子图层.
  • 为每个对象类型扩展NSObject,为Rectipse扩展另一个类,为Ellipse扩展另一个类,...只有一个绘图方法,它将获取CGContext和Rect作为参数并直接绘制其中的表单.这些方法将通过全局视图的绘制方法调用.

我知道两种第一种方法都带有检测每个物体触摸的功能,可以轻松添加阴影,但是我担心它们有点太重了?这就是为什么我想到了最后一种方式,它似乎是直截了当的.

哪种方式会更有效率??? 或者也许我没有想到另一种方式?

任何帮助将不胜感激 ;-)

谢谢.

iphone optimization drawing calayer uiview

6
推荐指数
1
解决办法
718
查看次数

PHP和PDO:使用IPv6地址连接到MySQL

我想通过使用其IPv6地址连接到远程MySQL实例(Google Cloud SQL实例).

我正在使用PHP PDO:

$db = new \PDO('mysql:host=<ipv6-address>;port=3306;dbname=<database-name>',
  '<username>',
  '<password>'
);
Run Code Online (Sandbox Code Playgroud)

但它总是失败,出现以下异常消息:

PDOException:SQLSTATE [HY000] [2002]没有到主机的路由

从终端我可以连接到MySQL实例,没有任何问题,像这样:

mysql --host=<ipv6-address> --user=<username> --<password>
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感激.

谢谢

php mysql pdo ipv6

6
推荐指数
2
解决办法
2265
查看次数

drawViewHierarchyInRect:afterScreenUpdates和renderInContext:不工作......其他解决方案?

我需要捕获UIScrollView中的大UIView的一部分.

renderInContext:两年多以来,我一直在使用CALayer的方法.即使该方法无法渲染特殊对象(如MapView),99%的时间它完美且足够快以满足我的需求.

但是对于iOS7,许多组件的渲染完全是错误的(并且在最新版本的iOS 7.1中变得更糟).所以我想使用似乎更像UIView的新方法drawViewHierarchyInRect:afterScreenUpdates.

不幸的是,我无法让它在真实设备上运行,它渲染黑色图像(空白内容).它只是在模拟器(视网膜或非视网膜)上的魅力,而且 - 我认为 - 在非视网膜真实设备上(我在第一代iPad mini上测试过)...总结:

  • iPad模拟器工作
  • iPad视网膜模拟器工作
  • iPad mini(第1代)工作
  • iPad 3和4 gen无法正常工作
  • iPad Air无法正常工作

在这里,您可以找到一个显示问题的简单Xcode项目.

在模拟器上运行它,然后在真实(视网膜)设备上运行它以查看差异和问题.

我在这篇帖子的末尾附上了两个截图,显示了这一点.左图显示renderInContext:方法的结果,右图显示drawViewHierarchyInRect:afterScreenUpdates方法结果.

因为太久了我已经抓住了它!我甚至通过苹果D​​TS请求帮助,这被拒绝说这听起来像是一个苹果虫,我应该填写一份错误报告(我已经做了很长时间了).

如果你有任何想法,评论等...我会非常感激.

谢谢

模拟器结果 iPad Air结果

snapshot calayer uiscrollview uiview ios

5
推荐指数
0
解决办法
641
查看次数

标签 统计

calayer ×2

uiview ×2

drawing ×1

ios ×1

iphone ×1

ipv6 ×1

mysql ×1

optimization ×1

pdo ×1

php ×1

snapshot ×1

uiscrollview ×1