Привет, ребята, я пытался использовать два UISlider для управления одним UIImageView. Один ползунок для масштабирования изображения и один для его поворота. Однако, когда я переключаюсь с одного ползунка на другой, он сбрасывает предыдущее вращение. (Поэтому, если я масштабирую изображение до 125x125, когда оно обычно составляет 100x100, а затем использую другой ползунок для поворота изображения, он поворачивает его, но меняет его размер обратно на 100x100 и наоборот). Так или иначе, я попытался использовать CGAffineTransformConcat для объединения двух преобразований, я попытался установить фрейм ImageView после каждого преобразования, я попытался удалить и прочитать imageView в _myArray, чтобы «сохранить» его, и я кратко попытался использовать точки привязки, но все без везения. Вот и вопрос, что я делаю не так??? Я чувствую, что мой код должен работать, и каждое действие не должно сбрасывать мой UIImageView, но я понятия не имею, почему этого не произойдет.
- (IBAction)scaleImage:(UISlider *)sender {
NSLog(@"ScaleImage Called");
UIImageView *selectedImage = [_myArray objectAtIndex:0];
CGAffineTransform transform = CGAffineTransformScale(CGAffineTransformIdentity, sender.value, sender.value);
selectedImage.transform = transform;
_scaleValue = sender.value;
//_width = selectedImage.frame.size.width
//_height = selectedImage.frame.size.height
_sizeLabel.text = [NSString stringWithFormat:@"%d", _scaleValue];
}
- (IBAction)rotateImage:(UISlider *)sender {
UIImageView *selectedImage = [_myArray objectAtIndex:0];
//selectedImage.frame = CGRectMake(selectedImage.frame.origin.x, selectedImage.frame.origin.y, _width, _height);
selectedImage.transform = CGAffineTransformMakeRotation(sender.value * 2*M_PI / sender.maximumValue);
_rotationLabel.text = [NSString stringWithFormat:@"%d", _rotationValue];
_rotationValue = sender.value;
}
Кто-нибудь знает, почему каждый метод сбрасывает предыдущие преобразования других.