сделать uisegmentedcontrol в uiscrollview

Я хочу использовать очень большой компонент segmentedcontrol, поэтому у меня возникла идея сделать его в виде 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];

но представление прокрутки не позволяло видеть сегментированный элемент управления. где была моя ошибка?


person Mejdi Lassidi    schedule 17.10.2010    source источник
comment
имею такую ​​же проблему! Каким было ваше окончательное решение?   -  person Denis Mikhaylov    schedule 11.03.2011
comment
у меня проблема с моей, я вижу свой сегментированный элемент управления и могу прокручивать по горизонтали, но я не могу выбрать сегмент, который не отображался при создании. любой?   -  person zambono    schedule 07.11.2011


Ответы (2)


Возможно, это поможет вам:

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];
person Muhammad Rizwan    schedule 14.07.2011

Вы можете использовать UICollectionView для горизонтальной прокрутки и использования кнопок в качестве ячеек.

person Kashyap Bhatt    schedule 08.05.2017
comment
Правда вопрос датируется 2010 годом.. многое изменилось.. одно из них то, что теперь у нас есть UICollectionView :) - person Mejdi Lassidi; 08.05.2017