0
我正在註冊頁面,其中一個按鈕是可對焦的,我將UIMotionEffect
應用於它。tvOS:UIButton的UIMotionEffect沒有反彈時刷卡
我的按鈕聲明:
private lazy var requestTokenButton: UIButton = {
let button = UIButton()
button.titleLabel?.font = UIFont(name: ThemeManager.sharedTheme.commonFontRegular, size: 22)
button.setTitle("Get a New Code", forState: .Normal)
button.setTitleColor(UIColor.blackColor(), forState: .Normal)
button.backgroundColor = ThemeManager.sharedTheme.yellowColor
button.addTarget(self, action: "requestNewToken", forControlEvents: .PrimaryActionTriggered)
return button
}()
我使用Cartography
對程序自動佈局:
constrain(self.requestTokenButton, self.registrationMoreInfoLabel) { view1, view2 in
view1.leading == view2.leading
view1.top == view2.bottom + 30
view1.height == 65
view1.width == 400
}
這裏是我applyMotionEffect()
:
private func applyMotionEffect() {
let yRotationMotionEffect = UIInterpolatingMotionEffect(keyPath: "layer.transform", type: .TiltAlongHorizontalAxis)
let yMovementMotionEffect = UIInterpolatingMotionEffect(keyPath: "center.y", type: .TiltAlongVerticalAxis)
let m34 = CGFloat(-1.0/3000)
let angle = CGFloat(20 * M_PI/180.0)
var baseTransform = CATransform3DIdentity
baseTransform.m34 = m34
var rotateYmin = baseTransform
rotateYmin = CATransform3DRotate(rotateYmin, angle, 0.0, 1.0, 0.0);
var rotateYmax = baseTransform
rotateYmax = CATransform3DRotate(rotateYmax, -1 * angle, 0.0, 1.0, 0.0);
yRotationMotionEffect.minimumRelativeValue = NSValue(CATransform3D: rotateYmin)
yRotationMotionEffect.maximumRelativeValue = NSValue(CATransform3D: rotateYmax)
self.requestTokenButton.addMotionEffect(yRotationMotionEffect)
self.requestTokenButton.addMotionEffect(yMovementMotionEffect)
}
這裏是我的問題:當我從遠程滑動時,按鈕在旋轉後立即彈回到角度限制CGFloat(20 * M_PI/180.0)
。有沒有一種方法可以在不反彈的情況下旋轉按鈕,或者減少我的手指在電視遙控器上移動的每個點的旋轉角度。