2015-04-08 7 views
0

У меня есть UIViewController с UIView.UIScrollView масштабирование и панорамирование

Я положил внутри UIScrollView с другим UIView внутри, все в моем раскадровке с AutoLayout.

Метод ViewDidLoad Я создаю массив UIButton для представления их в виде матрицы N x M.

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

Когда я качаю UIButton s не захватывает какое-либо событие касания, и если я увеличиваю масштаб UIScrollView, он не очень хорошо масштабируется, не центрируется, и он ускоряет панорамирование.

Никто не знает почему?

+1

приложить скриншот, как это разбивает в панорамирование? –

+0

панорамирование ломается, потому что я не могу никуда идти без масштабирования – Caelan

ответ

0

Я решил эту проблему, реализующего UIScrollViewDelegate так:

func scrollViewDidEndZooming(scrollView: UIScrollView, withView view: UIView!, atScale scale: CGFloat) { 
    let w = max(scrollView.frame.size.width, totalWidth) 
    let h = max(scrollView.frame.size.height, totalHeight) 
    view.frame.size = CGSize(width: w * scale, height: h * scale) 
    scrollView.contentSize = CGSize(width: w * scale, height: h * scale) 
} 

Так что пересчитывать размер правильно и масштабирование и панорамирование работал хорошо