15

我有一个 UISegmentedControl 有六个段,我希望他们在值更改时调用一个方法,而且当每个段获取时,UIControlEventTouchDragIn因为我希望 UILabel 在该人试图在其上选择某些内容时显示它的名称,并且将他们的手指拖过控件,但即使我拖入该事物,分段控件也不会发送此调用。请帮忙。也许我需要在控件上创建 UIButtons,以便在拖动时调用方法,但在它们收到点击时调用值更改方法。

4

2 回答 2

37

也许我不能正确理解你的问题,但你不能用这个:

[segmentedControl addTarget:self 
         action:@selector(action:)  
         forControlEvents:UIControlEventValueChanged];

只需将 UIControlEventValueChanged 替换为 UIControlEventTouchDragIn?然后在您的操作方法中执行任何需要执行的操作,例如更改 UILabel 的文本。

我有一个带有一堆单元格的 UITableView,每个单元格中有一个 UISegmentedControll,它对我来说很好用。

UISegmentedControl 的文档似乎无法在线获得,但您可以在 XCode 的 Organizer 中看到它,上面的代码是第一个示例。

于 2011-08-24T15:10:02.247 回答
-6

您可以将 UISegmentedControl 子类化并覆盖

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    return;
}

方法来管理触摸的拖动和位置。

由于您无论如何都无法判断拖动在哪个段上,因此您最好通过触摸手动完成所有操作并使用这些功能进行跟踪。

于 2010-01-13T13:49:15.633 回答