我有一个名为volumeControlView
的UIView,它在调用此动作时被创建:
@IBAction func toggleRainControl(_ sender: Any) {
self.view.addSubview(volumeControlView)
//volumeControlView.frame.origin = CGPoint(x: 0, y: -100)
volumeControlView.layer.cornerRadius = 25
volumeSlider.transform = CGAffineTransform(rotationAngle: CGFloat(-Double.pi/2))
}
volumeControlView
内部我有一个名为volumeSlider
的UISlider。它应该在触摸时调整我的雨声效果。当用户触摸volumeSlider
时,会调用此操作:
@IBAction func changeRainVolume(_ sender: UISlider) {
let selectedValue = Double(sender.value)
player.rainPlayer.volume = selectedValue
}
当toggleRainControl()中的注释掉的行被注释掉时,这一切都很有效,但是当我尝试通过取消注释该行来调整volumeControlView
的位置时,它会破坏UISlider功能并且它不再移动当用户触摸它时。我做错了什么?
更新:
我将toggleRainControl()更新为:
@IBAction func toggleRainControl(_ sender: Any) {
self.view.addSubview(volumeControlView)
self.view.frame = CGRect(x: self.view.frame.origin.x, y: self.view.frame.origin.y - 100, width: self.view.frame.width, height: self.view.frame.height + 100)
volumeControlView.layer.cornerRadius = 25
volumeSlider.transform = CGAffineTransform(rotationAngle: CGFloat(-Double.pi/2))
}
这是它的样子:
蓝色部分是volumeControlView的框架