UIScrollView не прокручивает - PullRequest
1 голос
/ 27 июля 2010

У меня проблема с UIScrollView.Я установил его frame.size, contentSize (больше, чем frame), но все еще не могу прокрутить.Моя программа имеет такую ​​структуру: MainMenuViewController -> ScrollBarController -> UIScrollView

Это часть метода MainMenuViewController viewDidLoad

ScrollBarController *imgScrollBarCtrl = [[ScrollBarController alloc] init];
// set images folder
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *imagesFolder = [documentsDirectory stringByAppendingPathComponent:@"SavedImages"];

// set scroll bar frame size
imgScrollBarCtrl.view.frame = CGRectMake(0.0, 0.0, 1024.0, 128.0);
[imgScrollBarCtrl setImagesFolder:imagesFolder];

// method adds subviews UIImageView to the scroll bar 
// and set view's contentSize according thumbnails number
[imgScrollBarCtrl recalculateThumbnailsBounds];

[topPanel addSubview:imgScrollBarCtrl.view];
[imgScrollBarCtrl release];

Существует метод loadView из класса ScrollBarControl:

- (void)loadView {

    UIScrollView *aScrollView = [[UIScrollView alloc] init];

    aScrollView.scrollEnabled = YES;

    self.view = aScrollView;

    [aScrollView release];
}

Я устанавливаю contentSize моего scrollView в recalculateThumbnailsBounds ScrollBarController.Он был установлен правильно (1620.0, 128.0), но прокрутка не работает.Я попытался установить contentSize в MenuViewController, добавив: ((UIScrollView *)imgScrollBarCtrl.view).contentSize(2000.0, 128.0);, но это не работает так же хорошо.

Я делаю NSLog(...) после установки contentSize и печати размера фрейма и contentSize для консоли - они установлены правильно freme.size = 1028.0,128.0, contentSize = 1620.0,128.0.

I 'Мы проверили методы - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event в обоих контроллерах - MainMenuController и ScrollBarController.Только главный контроллер запускает этот метод.ScrollBarController никогда не получает события касания ... возможно, это проблема ...

У кого-нибудь есть идеи, что может быть не так?Ура!

1 Ответ

0 голосов
/ 27 июля 2010
[[UIScrollView alloc] initWithFrame:(CGRect)frame]

Все потомки UIView используют схему.

Кроме того, ваш фрагмент кода не совсем ясно, что вы пытаетесь достичь, поэтому у вас могут быть другие проблемы в коде.

Сначала вы должны попытаться установить contentSize в методе loadView - (void) и посмотреть, получите ли вы правильное поведение.

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