gpt4 book ai didi

ios - 如何根据位置的接近程度更改 UIImageView 不透明度(Swift)

转载 作者:行者123 更新时间:2023-11-30 13:52:07 24 4
gpt4 key购买 nike

我已经设置了一个定义“MyLocation”的自定义对象,该对象在数组中用于显示最近位置的名称以及用户位置与最近位置之间的距离。

本质上,我希望“imageView”的不透明度根据“MyLocation”的 .distance 值而变化。

所有图像都预先添加到 subview 中,我只是通过在用户进入区域时更改不透明度来使它们可见。

    func locationManager(manager: CLLocationManager, didEnterRegion region: CLRegion) {

if region.identifier == "Home" {

FirstLocationImg.alpha = 0
UIView.animateWithDuration(2.0) {
self.FirstLocationImg.alpha = 1
}
}

if locationsArray.first!.distance < 50 {
imageView.alpha = locationsArray.first!.distance
}
}

我认为我的代码大部分都在那里,但我遇到了问题

“无法分配“Double”类型的值!输入“CGFloat”。”

这是我的自定义对象:

class MyLocation {

var coord: CLLocationCoordinate2D!
var distance: Double!
var regionDistance: Double!
var identifier: String!


var region: CLCircularRegion {
return CLCircularRegion(center: coord, radius: regionDistance, identifier: identifier)
}

init(coord: CLLocationCoordinate2D, regionDistance: Double, identifier: String) {
self.coord = coord
self.regionDistance = regionDistance
self.identifier = identifier
}

}

我的方法正确吗?或者有更好的方法来解决这个问题吗?

卡住了!

提前致谢!

编辑:

我发现我无法为图像的 alpha 值指定一个数字或大于 1 的值。所以看来我需要找到一种方法将我将从距离获得的数字(从 1-50)转换为 0-1 的范围。例如如果我使用 2 米的增量来表示 alpha 刻度上的 0.1?

我的方向正确吗?

最佳答案

我已经解决了这个问题:

使用 CGFloat(locationsArray.first!.distance)

然后将我得到的数字除以 2 点之间的距离,得到 0 到 1 之间的数字。

关于ios - 如何根据位置的接近程度更改 UIImageView 不透明度(Swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34134970/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com