Je suis un gars de longue date qui est assez nouveau pour le développement de l'iphone. Je trouve que de nombreux problèmes que je rencontre découlent de la réflexion sur les pages web, il est donc très possible que je ne pose pas les bonnes questions sur celui-ci. Néanmoins, après quelques heures à verser sur google results et stackoverflow pages, il est temps de jeter cette question dans le vide:iphone: écran partiel UIScrollView
Je suis en train de mettre en place une vue qui a des choses statiques/immuables tout en haut (par exemple, le titre du contenu ci-dessous), et permettre au reste de la "page" de défiler. Mon processus de pensée tel qu'il est maintenant est de créer une vue qui contient la partie statique, et un espace vide, puis d'ajouter en quelque sorte un scrollview à cet espace vide, mais c'est là que mes connaissances sont à sec.
code-sage, il cherche quelque chose comme ça (j'ai ajouté des commentaires pour montrer mon processus de pensée sur l'utilisation de ce code):
DetailsWrapper.m:
-(void)viewDidLoad {
//initialize details view (custom constructor that populates some stuff)
//ListingDetails is a subclass of UIViewController whose view is set to be a UIScrollView created in IB
//the viewDidLoad method of ListingDetails sets the contentSize of the scroll view
ListingDetails *details = [[ListingDetails alloc] initWithNibName:@"ListingDetails" andListingData:theListing];
//create an empty view that takes up all but the top 45px of the iphone screen
CGRect scrollArea = CGRectMake(0.0f, 45.0f, 320.0f, 435.0f);
UIView *scrollView = [[UIView alloc] initWithFrame:scrollArea];
//add the UIScrollView to the space we just made
[scrollView addSubview:details.view];
//now show it
[self.view addSubview:scrollView];
//cleanup
[scrollView release];
[details release];
}
Que tout fonctionne très bien et dandy, et tire le contenu correctement, avec le problème mineur que la vue de défilement ne fait pas ... défiler. Si j'essaie d'ajouter la vue ListingDetails normalement, sans utiliser cette enveloppe, le défilement fonctionne très bien, mais quelque chose que je fais (ou ne fais pas?) Ci-dessus fait que la fonctionnalité de défilement cesse d'être.
Est-ce que je pense à tout cela? L'objectif ultime est d'obtenir un écran où une partie défile et une partie ne le fait pas, donc si cela aide à ignorer tout ce que je viens de dire et à y répondre, allez-y.
ahh ... vous avez fait * scrollView être un UIScrollView lui-même au lieu d'en avoir un comme sous-vue. Cela semble faire l'affaire. Maintenant, pour voir si je peux arrêter d'empiler les ViewControllers les uns sur les autres ... –
Mise à jour de mon exemple avec une gestion de la mémoire appropriée. '-addSubview:' conserve ce qui est passé afin que nous puissions le libérer après l'avoir ajouté à la hiérarchie de vue. –
newbie question connexe: en supposant que je crée les conceptions de scrollView et staticView dans IB sans classes de contrôleur pour aller avec eux, comment puis-je référencer ceux dans le code? –