UIScrollView
Bonjour,
j'utilise IB pour faire une vue qui scroll, j'ai donc ajouté une UIScrollView mais je me pose une question : comment ajouter des widgets dans la partie de la vue qui est en dehors de la scrollview ?
Peut-on le faire avec IB ou doit-on passer par le code ?
Ou alors peut-on agrandir la zone au delà de la taille de l'iphone ?
C'est pas très clair tout ça.
Merci pour vos conseils.
j'utilise IB pour faire une vue qui scroll, j'ai donc ajouté une UIScrollView mais je me pose une question : comment ajouter des widgets dans la partie de la vue qui est en dehors de la scrollview ?
Peut-on le faire avec IB ou doit-on passer par le code ?
Ou alors peut-on agrandir la zone au delà de la taille de l'iphone ?
C'est pas très clair tout ça.
Merci pour vos conseils.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Les deux peuvent se faire
Précise ta question. Pour toute UIView la property clipsToBounds détermine si les vues filles sont clippées ou non par la vue.
clipsToBounds
A Boolean value that determines whether subviews can be drawn outside the bounds of the receiver.
@property(nonatomic) BOOL clipsToBounds
Discussion
YES if subviews should be clipped to the bounds of the receiver; otherwise, NO. The default value is NO.
Je voudrais scroller sur un contenu de 600px de haut avec une scrollview de 300px.
Donc comment ajouter mes widgets en dessous de la limite imposée par la fenêtre dans IB ?
La hauteur de la View principale est grisée donc je n'arrive pas la changer.
Par contre si je réduis ma scroll view j'ai constaté que le scroll fonctionne avec le contenu que j'ai déjà mis dedans.
widget.frame=....
[myScrollView addSubview:widget];
Signalons aussi que tu peux rajouter des objet dans le xib sans le disposer dans la vue (voir image). DOnc tu peux soit faire ton widget entièrement dans le code, soit le cofigurer dans le xib.
Donc ce que je veux faire dans IB n'est pas possible (agrandir la fenêtre visible).
Mais du coup l'intérèt de IB n'est pas évident car je vais me retrouver dans le code à avoir à placer mes objets au pixel près alors que j'aurai normalement pu le faire dans IB.
Manipuler des X,Y c'est le genre de truc que j'aime moyennement alors que placer les objets dans IB est quand même plus simple.
Merci
Dans IB, tu prends une UIView, tu la mets à la taille que tu veux et tu ajoutes ensuite tous les contrôles nécessaires dedans. Tu fais un outlet de cette view vers ton controller pour en récupérer la référence dans le code, ensuite dans le code d'initialisation :