嵌入式SegmentControl无法响应触摸

时间:2013-02-16 23:31:53

标签: uiview ios6 tableview uisegmentedcontrol

我已经解决了SegmentControl没有滚动我的表视图的问题。我通过在表视图中嵌入控件来实现这一点,如下所示:

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

这很好用......

但现在我无法点击细分控件。现在它是嵌入式的,这意味着就用户触摸而言,它基本上是在使用TableView吗?

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

由于

2 个答案:

答案 0 :(得分: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];

答案 1 :(得分:1)

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

当我使用故事板和属性检查器设置大多数参数时,我发现这是有效的代码:

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

第一行简单地使段控制器更大,第二行不仅允许我滚动并将段控制器保持在相同位置而且还使用它!