【问题标题】:make an uisegmentedcontrol in an uiscrollview在 uiscrollview 中创建一个 uisegmentedcontrol
【发布时间】:2011-04-26 13:24:24
【问题描述】:

我想使用一个非常大的分段控件组件,所以我想在 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];

但是滚动视图并没有让segmentedcontrol被看到。 我的错在哪里?

【问题讨论】:

  • 遇到同样的问题!你最后的决定是什么?
  • 我遇到了问题,我可以看到分段控件并且可以水平滚动,但是我无法选择创建时未显示的分段。有人吗?

标签: iphone uiscrollview uisegmentedcontrol


【解决方案1】:

您可以使用 UICollectionView 水平滚动并将按钮用作单元格。

【讨论】:

  • 没错,这个问题可以追溯到 2010 年。很多事情发生了变化。其中之一是现在我们有了 UICollectionView :)
【解决方案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];

【讨论】:

    猜你喜欢
    • 2017-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-28
    相关资源
    最近更新 更多