UIScrollView не прокручивается, даже если contentSize установлен - PullRequest
1 голос
/ 15 июля 2010

Итак, у меня есть контроллер представления, который содержит только представление прокрутки.В viewDidLoad я добавляю к нему представление из пера, но когда я это делаю, прокрутка перестает работать.Представление, которое я добавил, работает, хотя я могу нажимать кнопки, но половина из них находится за пределами экрана.

Ответы [ 5 ]

1 голос
/ 24 ноября 2011
scrollView.contentSize = CGSizeMake(320, 1000);

против

scrollView.contentSize = CGSizeMake(1000, 320);
0 голосов
/ 17 июля 2010

Извините, но вы написали «контроллер представления, который содержит только представление прокрутки» - и я не следил за вашими тегами. Установлено ли значение scrollEnabled (значение по умолчанию) ДА? И: «Сам вид прокрутки не рисует, за исключением отображения индикаторов вертикальной и горизонтальной прокрутки. Представление прокрутки должно знать размер представления содержимого, чтобы знать, когда прекратить прокрутку; по умолчанию он «отскакивает» назад, когда прокрутка выходит за границы содержимого. Объект, который управляет рисованием содержимого, отображаемого в виде прокрутки, должен… »(http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIScrollView_Class/Reference/UIScrollView.html). - Вы рисуете?

Может быть, вам стоит взглянуть на пример кода, упомянутого там?

Привет

0 голосов
/ 16 июля 2010

Я думаю, ты хочешь сделать что-нибудь. например [scrollView setDocumentView: yourContentViewToBeScrolled ]; ScrollView - это просто представление, как и все остальные. Он расширяет от A до B , автоматически изменяет размер или нет ... и получил возможность управлять видом документа: http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/NSScrollViewGuide/Articles/Creating.html#//apple_ref/doc/uid/TP40003226-SW1

Привет

0 голосов
/ 16 июля 2010

«Это для iPhone, никаких представлений документов не существует» - значит, вам нечего показать?Зачем прокручивать пустой прямоугольник?Apple говорит: «После инициализации экземпляра NSScrollView вы должны как минимум установить представление документа, используя метод setDocumentView:…».Они используют (Листинг 1) [scrollView setDocumentView: theImageView];и ImageView есть NSImageView.Нет ничего похожего на NSDocumentView.Позвольте мне сделать одно предположение: вы не используете «настоящий» MVC-паттерн.То, что вы делаете, - это наличие VC-объекта и модели или только одного объекта для всего.Правильно?Если так: вы упускаете, чтобы узнать «чистое искусство».Нет, вы не должны разделять эти три части все время.Можно комбинировать две или даже все три части MVC-паттерна.Но перед этим вы должны сделать эти маленькие шаги!Узнайте, как это должно работать.Здесь вы узнаете ... • модель просто для того, чтобы собрать все данные для одной работы вместе.Это немного (но не совсем) как файл документа (и это не .doc ), просто без файла.• представление - это только один (!) Способ (возможно, единственный, который у вас есть, но может быть столько, сколько вы хотите или нуждаетесь) для отображения некоторых или всех данных, которые вы хотите показать • контроллер управляет ими: он выбираетданные из модели (моделей) и помещает их обратно;он содержит представление (я) и говорит им, что делать - и, возможно, получает данные от них (некоторые из них должны быть переданы в модель, а другие - для других нужд) - это логическое или, «||», а не xor, люди используют в естественной речи!)

Извините за мой плохой английский.Я написал это просто для того, чтобы вы заинтересовались.Просто сделайте «RTFM» или, в этом смысле, прочитайте соответствующие части документации для разработчиков.Например, http://developer.apple.com/iphone/library/documentation/General/Conceptual/DevPedia-CocoaCore/MVC.html может быть местом для начала!

Привет

0 голосов
/ 15 июля 2010

Вы уверены, что это нормально?

scrollView.contentSize = CGSizeMake(1000, 320);
[scrollView setAutoresizesSubviews:YES];
    [scrollView setAutoresizingMask:UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight];

Обычно я устанавливаю contentSize в соответствии с добавляемыми представлениями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...