У меня есть fuction, который после тряски сбрасывает все слайдеры на свои значения по умолчанию и вызывает -proccesImage после изменения значения ползунка. Проблема в том, что каждый из слайдеров действительно переустанавливается на позиции по умолчанию, но GPUImage не обновляет представление.GPUImage не обновляется при обнаружении MotionShake
override func motionEnded(motion: UIEventSubtype, withEvent event: UIEvent?)
{
if(event?subtype) == UIEventSubtype.MotionShake{
for slider in sliders!
{
slider.value = myDefault(slider.tag);
sliderValueChanged(slider)
}
}
}
@IBAction func sliderValueChanged(sender: UISlider)
{
switch sender.tag{
case 1:
filter.temperature = CGFloat(sender.value)
case 2:
dliter2.exposure = CGFloat(sender.value)
case 3:
//more cases..
default:print("...")
}
gpuimage?.processImage(); // I know for a fact that this gets called, but doesn't update the view :(
}
Обратите внимание, что у меня также есть идентичные функции, связанные с жестом UITap. Когда пользователь дважды нажимает ползунок, он возвращается к своему значению по умолчанию и сразу же обновляет его. Код ниже работает отлично.
func resetSlider(sender: UITapGestureRecognizer)
{
let tag = (sender.view?.tag)!;
sliders![tag].value = myDefault(tag)
sliderValueChanged(sliders![tag]);
}