【发布时间】:2016-08-07 14:27:15
【问题描述】:
我正在编写一个显示 BLE 设备列表的应用程序。
我想以图形方式显示每个设备的信号强度,例如蜂窝信号条,而不是实际数量。
有人知道怎么做吗?
【问题讨论】:
标签: ios objective-c signal-strength
我正在编写一个显示 BLE 设备列表的应用程序。
我想以图形方式显示每个设备的信号强度,例如蜂窝信号条,而不是实际数量。
有人知道怎么做吗?
【问题讨论】:
标签: ios objective-c signal-strength
您可以使用UIImageView 仅渲染图像的一部分。让我们分解一下:
UIImageView 以在屏幕上显示您的图像;CGRect 来分割您的图像部分并将其设置在your_image_view.layer.contentsRect - 注意1.0 = 100%;CGRect 控制将显示图像的哪些部分;例子:
UIImageView *view = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
CGRect frame = CGRectMake(/* x */ 0, /* y */ 0.5, /* width */ 1, /* height */ 0.25);
view.layer.contentsRect = frame;
view.image = [UIImage imageNamed:@"ble_bars.png"];
阅读有关 CGMakeRect 和 contentsRect 的文档应该会对您有所帮助。
【讨论】:
1) 你可以做一些快速而肮脏的事情,比如创建一堆代表每个条的 UIView,然后根据 BLE 设备的强度隐藏/显示它们。
2) 或者您可以创建一堆图像并根据信号强度选择要显示的正确图像。
【讨论】: