绘制具有低内存开销的自定义iOS键盘

时间:2014-09-08 14:33:16

标签: ios calayer ios-app-extension memory-efficient custom-keyboard

我正在为iPhone尚不支持的语言开发自定义iOS键盘。我想尽可能地复制默认的L& F.我发现当用户触摸键盘时,默认的ios键盘可以被视为带有附加图像绘制的静态图像。

我希望我的键盘能够尽可能地消耗资源。将同时显示40个按钮。应该采用什么样的正确方法?我可以看到以下不同的方法:

  1. 在应用程序启动时将整个键盘绘制到UIImage(或CGImage)(或者甚至只是将其存储在应用程序包中)并将其显示在视图控制器中。当用户触摸键盘时,它会添加CALayer并将其放置在正确的位置。

  2. 使用CALayers的层次结构。每个按钮都被视为单独的CALayer。该按钮只是一个圆角矩形,中间有阴影和文字。

  3. 使用UIButtons的层次结构。

  4. 3-rd变体似乎是最自然的方法,但它引入了40个具有相应内部结构的UIButton。如果我决定改变一些东西,那么在我看来,第一个变体似乎是最轻的,但不是非常通用。我不知道CALayers消耗了多少内存,所以我不确定第二种变体。

0 个答案:

没有答案