1

我已经解决了 SegmentControl 没有随着我的表格视图滚动的问题。我通过将控件嵌入到我的表格视图中来做到这一点,如下所示:

UIView *headerView = [[UIView alloc] init ];
        [headerView addSubview:resultsSegment];
        self.tableView.tableHeaderView = headerView;

这很好用......

但现在我不能点击段控制。现在它是嵌入式的,这是否意味着就用户触摸而言,它本质上是在 TableView 的后面?

关于如何使 SegmentControl 再次“可点击”的任何想法?

谢谢

4

2 回答 2

1

段控件不在 tableView 后面。它在 tableView 上。

要使segmentControl 再次可点击,您需要设置所有segmentControl 属性。这是来自网络的一些示例代码。

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;
[segmentedControl addTarget:self
                     action:@selector(pickOne:)
           forControlEvents:UIControlEventValueChanged];
[self.view addSubview:segmentedControl];
于 2013-02-16T23:47:42.847 回答
1

感谢@eddieios,我确实解决了问题......通过删除我在原始答案中引用的大部分代码。

当我使用情节提要和属性检查器设置大部分参数时,我发现这是有效的代码:

   resultsSegment.frame = CGRectMake(50, 100, 250, 40);
   [self.tableView addSubview:resultsSegment];

第一行只是让段控制器的尺寸更大,第二行不仅允许我滚动并将段控制器保持在相同的位置,而且还可以使用它!

于 2013-02-17T01:59:50.873 回答