Я витратив два дні на тестування різних рішень для змішаних та чистих підходів до автоматичного вимикання, щоб досягти того, що було тривіальним настроєм перегляду прокрутки до початку автолаутування, і це зараз офіційно - я повинен бути занадто дурним. Я налаштовую це здебільшого на Storyboard (ну, це просто так).
Тож ось моє прохання про допомогу.
Джерело:
UIView
-UIView
-UIView
..-UIScrollview
...-UIButton
...-UIButton
...-UIButton
Кнопки повинні прокручуватися горизонтально (зліва направо і навпаки). Може хтось, будь ласка, дайте мені знати, як встановити обмеження, щоб досягти цього за допомогою чистого автоматичного вимикання ???
-
Я спробував змішаний підхід, як-от так:
UIView
- UIView
- UIView
..-UIScrollview
...-UIView (contentview)
....-UIButton
....-UIButton
....-UIButton
... та встановлення обмежень по ширині та висоті для contentview
таtranslatesAutoresizingMaskIntoConstraints
параметрів відповідно до TechNote від Apple. Кнопки та перегляд прокрутки налаштовуються за допомогою обмежень. Це отримує прокрутку прокрутки (так), але на жаль, вона прокручується занадто далеко! Наскільки я можу сказати, ширина прокрутки якимось чином подвоюється від того, що я встановив contentview на ??? !!! ???
Я також спробував чистий підхід до автоматичного розкладу, як contentview
і без , так і без. Усі перегляди є translatesAutoresizingMaskIntoConstraints=NO
, крім self.view
. Кнопки мають обмежені обмеження по ширині / висоті та закріплені на всіх чотирьох краях прокрутки. Нічого не прокручується.
Тож я абсолютно збентежений, чому я не можу змусити його працювати правильно. Будь-яка допомога вдячна, і якщо вам потрібна інша інформація, будь ласка, запитайте!
ОНОВЛЕННЕ Знімок екрана з рішенням - обмеження для кнопки Z:
EDIT @ Jamie Forrest Тож рішення виявляється помилковим обмеженням на останній кнопці. Замість 6441 значення, яке я встановив, було мінус -6441. Найскладніша річ у тому, що при встановленні значення в раскадровці на панелі інструментів Pin є два варіанти:
Поточне значення полотна негативне (призводить до відсутності прокрутки), а параметр нижче - позитивний (активація прокрутки). Це означає, що я не дурний, але, принаймні, напівсліп. Хоча, на мій захист, чи не є дещо тривожним те, що XCode не показує помилку для "неправильного" налаштування?
Відредаговане ЗНОВУ Зараз це смішно ... зміна значення косого від -6441 (без прокрутки) в 6441 включений свиті. Але мій старий друг, "занадто багато вмісту" повернувся, що призвело до того, що розмір вмісту вдвічі більший, ніж він повинен бути! Рішенням для отримання правильної прокрутки вмісту було встановити обмеження для ЗКР за заднім числом! Це не очевидно, коли ви працюєте у Storyboard, але дивлячись на код @Infinity James, це має бути.
contentSize
з UIScrollView
використання тільки автоматичної компонування. І саме contentSize
те визначає, скільки можна прокручувати. Тому вам доведеться встановити це вручну десь з часом. Для решти, ви можете використовувати обмеження для компонування, щоб встановити кадри перегляду відносно один одного.