#objective-c #uiscrollview
#objective-c #uiscrollview
Вопрос:
Я создал UIScrollView с некоторым UIButton внутри. Проблема в том, что когда я прокручиваю вниз в конце просмотра, он возвращается при запуске. Что я могу сделать? Я использую это в viewDidLoad:
- (void)viewDidLoad
{
[super viewDidLoad]; // step 3
scroll.scrollEnabled=YES;
scroll.contentSize = [self.view sizeThatFits:CGSizeZero];
}
Ответ №1:
Согласно документации Apple: sizeThatFits возвращает размерную часть прямоугольника границ представления.
Таким образом, размер содержимого вашего вида прокрутки совпадает с размером UIView, поэтому вид прокрутки возвращается в исходное положение. Вам нужно установить высоту размера содержимого на общую высоту всего вашего содержимого в режиме прокрутки. Обычно это больше, потому что в противном случае не имеет смысла использовать UIViewController.
Итак, используйте что-то подобное, и это должно сработать:
- (void)viewDidLoad
{
[super viewDidLoad]; // step 3
scroll.scrollEnabled=YES;
CGSize scrollViewSize = [self.view sizeThatFits:CGSizeZero];
scrollViewSize.height = 800.0; // Set here the height of the total area of your ScrollView. Should be bigger than the visible area.
scroll.contentSize = scrollViewSize;
}
Комментарии:
1. извините меня, но я пытаюсь, и ничего не меняется.. в противном случае он останавливается раньше и не отображает весь вид:(
2. значение 800.0 было примером, если высота вашего содержимого больше, установите его высоту больше.
3. я использовал 750 .. потому что я вижу в IB, что высота представления такая