Comment puis-je modifier un UIViewController pour permettre le défilement?
J'ai déjà construit une UIViewController
sous-classe avec un tas de contrôles, et viens de réaliser que si je tourne l'iPhone, la moitié des contrôles de devenir invisible. Donc, je voudrais faire en quelque sorte le UIViewController's
UIView
défilement de sorte que lorsque le dispositif (ou le Simulateur) tourne, l'utilisateur peut faire défiler l'affichage pour voir tous les contrôles.
J'espérais pour ce faire, le tout dans Interface Builder. J'ai essayé de changer la classe de la vue à partir de UIView
à UIScrollView
dans la Classe de l'Identité de l'éditeur, mais rien ne défile. La classe de base de mon point de vue, contrôleur est un simple UIViewController
<UIScrollViewDelegate>
.
Est-il un moyen facile de faire de la vue principale de mon point de vue, contrôleur de défilement, sans avoir à recréer le tout dans de l'IB?
OriginalL'auteur Paul | 2010-07-07
Vous devez vous connecter pour publier un commentaire.
Pour les personnes qui sont à l'aide de storyboard, c'est assez facile à faire
View
de la UIViewControllerUIScrollView
.
Cela vient de se casser ma mise en page.
Il n'a pas de travail...
OriginalL'auteur Konsol Labapen
Ajouter un
UIScrollView
et de faire toutes vos commandes et les widgets et les étiquettes des sous-vues de défilement de la vue en les faisant glisser à partir de là où ils sont "en" ou "dans" le défilement de l'affichage. Cela fait d'eux des sous-vues de défilement de la vue, qui est ce que vous voulez.Ne pouvez-vous pas juste mettre la vue à l'intérieur de défilement de la vue? Pourquoi supprimer l'original UIView?
Pourquoi le downvote?
OriginalL'auteur Alex Reynolds
Vous pouvez le faire comme suit:
@property (nonatomic, retain) IBOutlet UIScrollView *scrollView;
@synthesize scrollView;
Le vrai truc c'est que le réglage de la scrollView.contentSize. Une fois que cela est défini, le défilement doit se produire.
Si vous souhaitez activer le défilement lorsque l'appareil est en mode portrait, vous pouvez utiliser ceci:
Cela devrait vous donner une certaine image de référence.
Aux puces
OriginalL'auteur Flea
J'ai été en mesure de le faire en ajoutant un défilement de l'affichage à la vue de l'IB, en rendant la vue à un contrôleur de UIScrollViewDelegate, le branchement de la scrollview à un UIScrollView objet de l'IB, en accrochant le délégué jusqu'à propriétaire du fichier, et en ajoutant cette ligne dans le viewDidLoad:
OriginalL'auteur David Andrews
Le comportement de défilement n'est appelée que si l'
contentSize
d'unUIScrollView
est plus grande que ses limites.OriginalL'auteur Mark Adams
Il serait utile de comprendre ce que votre interface est de l'affichage, mais je suggère de l'une des opérations suivantes:
Avez-vous essayé de mettre à jour votre UIScrollView de contentSize quand il tourne?
OriginalL'auteur Christopher Pickslay
Ajouter une barre de Défilement dans Xib fichier, puis drag & drop contrôles de la barre de Défilement. À l'intérieur de
load view
utilisationOriginalL'auteur Sabareesh