J'ai un problème avec un UIScrollView. J'ai défini frame.size, contentSize (plus grand que frame), mais je ne peux toujours pas faire défiler. Mon programme a sctucrure comme ceci: MainMenuViewController -> ScrollBarController -> UIScrollViewUIScrollView ne défile pas
Ceci est une partie de la méthode de 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];
Il est méthode loadView
de la classe ScrollBarController:
- (void)loadView {
UIScrollView *aScrollView = [[UIScrollView alloc] init];
aScrollView.scrollEnabled = YES;
self.view = aScrollView;
[aScrollView release];
}
J'ai mis contentSize de mon scrollView dans recalculateThumbnailsBounds
de ScrollBarController. Il a été réglé correctement (1620.0, 128.0), mais le défilement ne fonctionne pas. J'ai essayé de définir contentSize dans MenuViewController en ajoutant: ((UIScrollView *)imgScrollBarCtrl.view).contentSize(2000.0, 128.0);
mais cela ne fonctionne pas aussi bien. Après NSLog(...)
après avoir défini la taille du contenu et la taille de l'image et contentSize à la console - ils sont définis correctement freme.size = 1028.0,128.0, contentSize = 1620.0,128.0.
J'ai vérifié les méthodes - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
dans les deux contrôleurs - MainMenuController et ScrollBarController. Seul le contrôleur principal déclenche cette méthode. ScrollBarController ne reçoit jamais d'événements touche ... c'est probablement un problème ...
Est-ce que quelqu'un a une idée de ce qui pourrait se passer? À votre santé!
Je l'ai déjà essayé. Essayé à nouveau après votre recommandation. J'ai la même chose - la vue de défilement et la disposition de sous-vues est appropriée mais la vue de défilement ne défile pas. De quelles méthodes avez-vous besoin pour avoir une meilleure image? Je pensais juste que ces méthodes sont suffisantes. D'autres méthodes plus pour calculer des cadres pour les vues 'UIImageView' et les ajouter à la vue de défilement. – OgreSwamp