小编afr*_*ick的帖子

使用蓝牙LE在iOS和Android之间进行通信

我有一个使用CoreBluetooth的工作应用程序在iPad(中央)和iPhone(外围设备)之间进行通信.我有一项服务有两个特点.我有一台运行最新Android 4.3并支持BTLE的Nexus 7.Android有点迟到了BTLE的潮流,但看起来他们正在接近它,就像iOS的做法一样,最初他们只支持在后续版本中作为外设模式的中心.我可以加载示例Android BTLE应用程序并浏览附近的外围设备.将我的iPhone广告作为外围设备,我可以在Android端附近的外围设备列表中看到CBAdvertisementDataLocalNameKey的值.我可以连接到iPhone,蓝牙符号在连接时从浅灰色变为黑色.连接始终持续10秒,然后断开连接.在Android方面,我应该会在连接时看到可用服务和特征列表.我已经证明Android代码设置正确,因为我可以将它连接到我所拥有的TI CC2541DK-SENSOR硬件,并在连接时列出所有服务和特性.

我花了最后几天对问题进行排查,但没有成功.问题是我无法确定哪个设备出现错误并因此导致断开连接.在连接阶段或服务发现阶段没有来自CBPeripheralManagerDelegate的回调,所以我不知道错误发生在什么时候(如果错误发生在iOS端).在Android方面,调用一个方法来启动服务发现,但是从不调用它们的回调"onServicesDiscovered",这是令人困惑的.有什么方法可以深入了解iOS端BTLE通信的内容,看看发生了什么,并确定发生了什么错误?

ios core-bluetooth bluetooth-lowenergy android-bluetooth android-4.3-jelly-bean

45
推荐指数
3
解决办法
4万
查看次数

使用TextKit在UITextView中动画UIImage

我有一个UIImage包含多个图像帧和一个从动画GIF文件切片的持续时间.如果我将图像加载到UIWebView其中将按预期动画,但我想使用UITextView替代.显而易见的选择是使用带有自定义NSLayoutManger和许多自定义NSAttributedString属性的TextKit 来实现各种绘图效果.我有一个单一的UITextView,我想给一个NSAttributedString包含NSTextAttachments的所有图像我需要内联显示.它工作得很好,除了当我加载其中一个动画时UIImages,它们没有动画通过它们的帧.有关如何实现这一点的任何想法?我想出了一个理论选择:

  1. 对于每个动画图像,添加自定义属性
  2. 当布局管理器去绘制背景时,迭代此属性以定位附件的位置.
  3. 回调到文本视图以UIImageView使用动画图像创建s,添加为子视图并调用startAnimating

我还没有试过这个,但它相当hacky.我想知道是否有更好的选择.

总结:我想一个动画UIImageUITextView通过NSTextAttachment内部NSAttributedString而不需要额外的UIImageView对象.你可以忽略这个以前用a做的事实UIWebView.UIImage具有用于设置动画帧的属性(images,duration),我目前已配置.如果我将它分配给UIImageView它动画,如果我将其设置为a NSTextAttachment,则不动画.

我将不胜感激任何反馈.谢谢!

nslayoutmanager uitextview ios textkit

16
推荐指数
1
解决办法
1334
查看次数