2016-10-05 3 views
0

Итак, ребята, изображение появляется в представлении, UIView - это EmbedIn с ScrollView, выходные точки прекрасны, изображение появляется, но ничего не происходит, когда я пытаюсь увеличить масштаб, я буду благодарен за любые предложения или пример события с кнопками + и - или слайдер, если это будет работать. Я сделал все, что я нашел в интернете, и это не работает, вот мой код:Масштабирование с помощью UIScrollView не работает

class TakenPhotoPreviewViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate, UIScrollViewDelegate { 

@IBOutlet weak var scrollViewOutlet: UIScrollView! 
@IBOutlet weak var imageViewOutlet: UIImageView! 
var takenImage: UIImage = UIImage() 
let picker = UIImagePickerController() 

override func viewDidLoad() { 
    super.viewDidLoad() 
    imageViewOutlet.image = takenImage 
    picker.delegate = self 
    scrollViewOutlet.delegate = self 
    setForZoom() 

где Methode setForZoom является

func setForZoom() { 
    imageViewOutlet.frame = CGRect(origin: CGPoint.zero, size: takenImage.size) 
    scrollViewOutlet.addSubview(imageViewOutlet) 
    scrollViewOutlet.contentSize = takenImage.size 
    scrollViewOutlet.clipsToBounds = false 
    let scrollViewFrame = scrollViewOutlet.frame 
    let scaleWidth = scrollViewFrame.size.width/scrollViewOutlet.contentSize.width 
    let scaleHeight = scrollViewFrame.size.height/scrollViewOutlet.contentSize.height 
    let minScale = min(scaleWidth, scaleHeight); 
    scrollViewOutlet.minimumZoomScale = minScale; 

    scrollViewOutlet.maximumZoomScale = 4.0 
    scrollViewOutlet.zoomScale = minScale; 

У меня также есть:

private func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? { 

    return imageViewOutlet 

} 

и даже

func scrollViewDidEndZooming(_ scrollView: UIScrollView, with view: UIView?, atScale scale: CGFloat) { 

} 

Потому что у кого-то были проблемы, потому что это не было написано .... Пожалуйста, кто-нибудь знает, почему это не работает?

ответ

0

Удалите этот кусок кода из приложения и попробуйте его работать. На данный момент вы ограничиваете размер содержимого ScrollView с размером изображения.

scrollViewOutlet.contentSize = takenImage.size 
+0

сделал это и до сих пор никаких изменений ... ((( –

+0

) Вы используете жесткие кодированные ограничения ширины и высоты в вашем раскадровке? –

+0

просто Builder Interface Constraints –

0

Вопрос, возможно, является minScale, вы установите zoomScale из scrollView в minScale. Существует проблема с minScale, ее нельзя изменить, поэтому вы ничего не можете изменить.

+0

, так как я могу это решить? –

0

Проблема решена. Попробуйте удалить эту строку кода.

scrollViewOutlet.zoomScale = minScale 

, кстати, вы должны обратить внимание на имя переменной.

Смежные вопросы