Comment faire pour désactiver le défilement vertical dans UIScrollView (Obj-C)
Je veux désactiver le défilement vertical de mon UIScrollView, si possible.. Mon code est comme ci-dessous.. fonctionne bien sauf les utilisateurs peuvent faire défiler en haut et en bas, ce qui ne devrait pas être là je crois.. Merci d'avance..
UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 100, self.view.frame.size.width, self.view.frame.size.height / 3)];
scroll.contentSize = CGSizeMake(scroll.contentSize.width,scroll.frame.size.height);
scroll.pagingEnabled = YES;
scroll.backgroundColor = [UIColor blackColor];
int xVal = 30;
NSInteger numberOfViews = 5;
for (int i = 0; i < numberOfViews; i++) {
UILabel *testLabel1 = [[UILabel alloc] initWithFrame:CGRectMake(xVal, 0, 90, 100)];
UILabel *testLabel2 = [[UILabel alloc] initWithFrame:CGRectMake(xVal, 20, 90, 100)];
UILabel *testLabel3 = [[UILabel alloc] initWithFrame:CGRectMake(xVal, 40, 90, 100)];
testLabel2.backgroundColor = [UIColor clearColor];
testLabel2.text =@"Test1";
testLabel2.textColor = [UIColor whiteColor];
testLabel2.font = [UIFont boldSystemFontOfSize:12];
testLabel1.backgroundColor = [UIColor clearColor];
testLabel1.text =@"Test2";
testLabel1.textColor = [UIColor whiteColor];
testLabel1.font = [UIFont boldSystemFontOfSize:12];
testLabel3.backgroundColor = [UIColor clearColor];
testLabel3.text =@"Test3";
testLabel3.textColor = [UIColor whiteColor];
testLabel3.font = [UIFont boldSystemFontOfSize:12];
xVal += 120;
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(xVal, 30, 150, 130)];
view.backgroundColor = [UIColor blackColor];
xVal += 200;
[scroll addSubview:testLabel1];
[scroll addSubview:testLabel2];
[scroll addSubview:testLabel3];
[scroll addSubview:view];
}
[self.view addSubview:scroll];
double possible de stackoverflow.com/questions/5095713/...
oui j'ai utilisé la même chose, mais ne fonctionne pas pour moi!!
Est-ce une application iPhone?
il est étiqueté ios.
J'ai pris ton code et de le placer dans le viewDidLoad dans un nouveau projet et je n'ai pas de défiler à tous... Essayez de définir le scrollView contentSize à la fin de cette méthode.
oui j'ai utilisé la même chose, mais ne fonctionne pas pour moi!!
Est-ce une application iPhone?
il est étiqueté ios.
J'ai pris ton code et de le placer dans le viewDidLoad dans un nouveau projet et je n'ai pas de défiler à tous... Essayez de définir le scrollView contentSize à la fin de cette méthode.
OriginalL'auteur user123 | 2012-08-07
Vous devez vous connecter pour publier un commentaire.
vous devez définir votre scrollview contenu de la hauteur pour le défilement de l'affichage de la hauteur
OriginalL'auteur touti
Dans ma situation, j'ai été incapable d'obtenir la hauteur de la scrollview (en raison de mise en page automatique, je n'étais pas en mesure d'obtenir la hauteur dans le viewDidLoad). Vous pouvez ajouter ceci à la méthode du délégué.
Fonctionne parfaitement sur iOS 8.1.1 avec un scrollView dans un TableViewCell! Merci!
OriginalL'auteur Gavy
Ici peut être possible de dupliquer
la désactivation de défilement vertical dans UIScrollView
ou vous pouvez aussi essayer ceci:
OriginalL'auteur Nayan
En supposant que c'est un iPhone app, de sorte que la résolution de l'écran est 320×480 .
Maintenant, vous êtes à la configuration de votre barre de défilement de la vue en hauteur comme
self.view.frame.size.height /3
.Voici votre point de vue en hauteur est en fait pris comme 460 et pas 480 (20px pour staus bar).
Ainsi, lorsque vous ajoutez de l'autre point de vue, en tant que sous-vue de défilement de la vue, son cadre est en dehors de la faire défiler l'affichage du contenu. Si vous avez besoin pour gérer cela lors de la définition de vos images/taille du contenu.
Laissez-moi savoir si cela fonctionne pour vous.
OriginalL'auteur Nayan Chauhan
Il n'y a pas de problème avec cela il suffit de modifier le contentSize de votre UIScrollView et vous avez terminé.Augmenter sa largeur taille et sa hauteur doit être tel qu'il est à l'heure actuelle.En outre, vous pouvez également masquer la verticale ascenseurs.
OriginalL'auteur AJS
Vous devez faire comme ceci:
OriginalL'auteur Paradise
Dans votre fichier xml, il y a deux propriétés sont disponibles pour le scrollview sont de défilement horizontale et verticale de défilement. selon vos besoins, vous pouvez cocher ou décocher et si vous souhaitez arrêter la verticale ou à l'horizontale de défilement, alors vous devez faire de même de la taille du contenu de la scrollview avec la hauteur ou la largeur de la scrollview respectivement
OriginalL'auteur IOS developer