2010-10-17 13 views
2

Je veux utiliser un très grand segment segmenté de commande donc j'ai eu l'idée de le faire dans un uiscrollview ..so en faisant défiler horizontalement l'utilisateur peut choisir l'élément approprié. J'ai écrit ce code:faire un uisegmentedcontrol dans un uiscrollview

CGRect rect = [[UIScreen mainScreen] applicationFrame]; 
CGRect frame = CGRectMake(rect.origin.x + kLeftMargin, rect.size.height - kPaletteHeight - kTopMargin, 2*rect.size.width , kPaletteHeight); 
seg.frame = frame; 

scroll.frame = frame; 
scroll.contentSize = CGSizeMake(frame.size.width * 2,frame.size.height); 
scroll.showsHorizontalScrollIndicator = YES; 
scroll.showsVerticalScrollIndicator = NO; 
scroll.scrollsToTop = NO; 
[scroll addSubview:seg]; 

mais la vue de défilement n'a pas laissé le segmentedcontrol à voir. où était mon erreur?

+0

ayant le même problème! Quelle était votre décision finale? –

+0

J'ai un problème avec le mien, je peux voir mon contrôle segmenté et je peux faire défiler horizontalement, mais je ne peux pas sélectionner un segment qui n'était pas affiché lors de sa création. n'importe qui? – zambono

Répondre

6

Peut-être que cela vous aidera:

UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 435)]; 
scroll.contentSize = CGSizeMake(320, 700); 
scroll.showsHorizontalScrollIndicator = YES; 

NSArray *itemArray = [NSArray arrayWithObjects: @"One", @"Two", @"Three", nil]; 
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:itemArray]; 
segmentedControl.frame = CGRectMake(35, 200, 250, 50); 
segmentedControl.segmentedControlStyle = UISegmentedControlStylePlain; 
segmentedControl.selectedSegmentIndex = 1; 

[scroll addSubview:segmentedControl]; 
[segmentedControl release]; 
[self.view addSubview:scroll]; 
0

Vous pouvez utiliser UICollectionView pour faire défiler horizontalement et utiliser les boutons comme des cellules.

+0

Certes, la question date de 2010 ... beaucoup de choses ont changé ... l'un d'entre eux est que nous avons maintenant UICollectionView :) –