UIScrollView

groumpfgroumpf Membre
17:27 modifié dans API UIKit #1
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.

Réponses

  • Philippe49Philippe49 Membre
    17:27 modifié #2
    dans 1238681239:

    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 ?

    Les deux peuvent se faire

    dans 1238681239:

    Ou alors peut-on agrandir la zone au delà  de la taille de l'iphone ?

    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.

  • Philippe49Philippe49 Membre
    17:27 modifié #3
    Signalons que beaucoup de posts récents parlent du sujet du zoom sur une scroll view. Une petite recherche "zoom scroll" dans les 100 derniers jours te donnent déjà  pas mal d'informations.
  • groumpfgroumpf Membre
    17:27 modifié #4
    J'ai cherché mais ca ne parle pas trop de IB.
    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.
  • Philippe49Philippe49 Membre
    17:27 modifié #5
    Tu le fais dans le code
    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.
  • groumpfgroumpf Membre
    17:27 modifié #6
    Je comprends , j'ai déjà  utilisé le browser.
    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
  • Eddy58Eddy58 Membre
    17:27 modifié #7
    Si, pour l'avoir fait il est possible de construire le contenu de ta scrollview dans IB.

    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 :

    <br />	UIScrollView *scrollView=[[UIScrollView alloc] initWithFrame:CGRectMake(0,0,300,480)]; // Initialisation ScrollView<br />	[scrollView setContentSize:CGSizeMake(300,600)]; // Taille du contenu de la ScrollView<br />	[scrollView addSubview:tonIBView]; // Ajout de ta vue faites sous IB à  la ScrollView<br />	[mainView addSubview:scrollView]; // Ajout de la ScrollView à  ta mainView<br />
    


  • groumpfgroumpf Membre
    17:27 modifié #8
    Merci beaucoup Eddy58, ça fonctionne :)

Connectez-vous ou Inscrivez-vous pour répondre.