我正在使用
我有一个带有一些文字的标签,并应用以下代码来获得效果:
结果如下所示:
但是我希望当设备静止或平行于眼睛时,文字是看不见的。因此,人们必须旋转/倾斜设备才能理解写了什么。
字体颜色是白色的。在初始位置,阴影也应该是白色或透明度为0,并随着设备倾斜而逐渐增加透明度和半径。
我找不到一种方法来捕获设备的倾斜值,然后我可以根据条件进行调整以获得我想要的效果。我所有的网络搜索都导向了
提前致谢!
UIInterpolatingMotionEffect
来生成基于设备倾斜的“阴影效果”。我有一个带有一些文字的标签,并应用以下代码来获得效果:
// Set shadow properties
let layer = self.label.layer
layer.shadowColor = UIColor.blackColor().CGColor
layer.shadowRadius = 9
layer.shadowOpacity = 0.7
layer.shadowOffset = CGSizeMake(10, 10)
// Set vertical shadow effect
let verticalMotionEffect: UIInterpolatingMotionEffect = UIInterpolatingMotionEffect(keyPath: "layer.shadowOffset.height", type: .TiltAlongVerticalAxis)
verticalMotionEffect.minimumRelativeValue = 100
verticalMotionEffect.maximumRelativeValue = -100
// Set horizontal shadow effect
let horizontalMotionEffect: UIInterpolatingMotionEffect = UIInterpolatingMotionEffect(keyPath: "layer.shadowOffset.width", type: .TiltAlongHorizontalAxis)
horizontalMotionEffect.minimumRelativeValue = 100
horizontalMotionEffect.maximumRelativeValue = -100
// Create group to combine both
let group = UIMotionEffectGroup()
group.motionEffects = [horizontalMotionEffect, verticalMotionEffect]
// Add both effects to the label
self.label.addMotionEffect(group)
结果如下所示:
![设备屏幕截图](https://istack.dev59.com/G6fiy.webp)
字体颜色是白色的。在初始位置,阴影也应该是白色或透明度为0,并随着设备倾斜而逐渐增加透明度和半径。
我找不到一种方法来捕获设备的倾斜值,然后我可以根据条件进行调整以获得我想要的效果。我所有的网络搜索都导向了
CMMotionManager
。有没有办法通过 UIInterpolatingMotionEffect
或者 UIMotionEffect
来做到这一点?提前致谢!