Получить высоту uiscrollview с autolayout

Я построил uiscrollview с чистой autolayout, поэтому я не использую:

[scrollView setContentSize: CGMakeSize (contentWidth, contentHeight)];

проблема в том, что теперь мне нужно получить contentSize.height для uiScrollView, но при автоматической выдаче я получаю 0.

Мне нужно получить contentSize.height для увеличения scrollView, когда пользователь дважды коснется.

код, который я хочу использовать, это: ZoomToPoint

Можете ли вы помочь мне использовать этот код с autoLayout?

большое спасибо

2 ответа

Решение

У меня недостаточно информации, чтобы понять, почему вы получаете 0, что, похоже, не происходит ни с одним из представлений прокрутки в приложении, над которым я сейчас работаю. Может быть, ваши ограничения на автоматическое размещение не совсем верны? Autolayout + UIScrollView Это не очень простая комбинация. Я нашел, что проще всего разместить все виды с равниной UIView "контейнер" и поместите его в представление прокрутки.

Но действительно ли вам нужен contentSize.height? Для меня имеет смысл просто удвоить масштаб при увеличенном двойном касании и уменьшить масштаб до 100% при увеличенном двойном касании:

func doubleTapReceived(recognizer: UITapGestureRecognizer) {
    if recognizer.state == .Ended {
        if photo.scrollView.zoomScale == 1.0 {
            let point = recognizer.locationOfTouch(0, inView: <one of your views>)
            <your scroll view>.zoomToPoint(point, withScale: 2.0, animated: true)
        } else {
            <your scroll view>.zoomToRect(photo.frame, animated: true)
        }
    }
}

Подклассы не требуются.

Вот аналогичная часть моего кода. Может быть, попытаться клонировать мой проект и построить его и посмотреть, чем он отличается от того, что у вас есть? Чтобы перейти к этому конкретному виду прокрутки, перейдите на вкладку "Фотографии" и коснитесь одного из уменьшенных изображений в представлении коллекции.

Вы должны использовать layoutSubviews методы в UIScrollView подкласс, если вы подкласс UIScrollView или иначе вы могли бы использовать viewDidLayoutSubviews метод в UIViewController найти правильный contentSize из прокрутки.

Другие вопросы по тегам