UISegmentedControl委托/触摸事件

Jab*_*Jab 15 iphone uibutton uisegmentedcontrol uilabel

我有一个UISegmentedControl有六个段,我希望它们在值改变时调用一个方法,但是当每个段得到一个时,UIControlEventTouchDragIn因为我希望UILabel在它试图选择它的时候显示它的名字将手指拖过控件,但即使我拖入控件,分段控件也不会触发此调用.请帮忙.也许我需要在拖动时调用方法的控件上创建UIButton,但是当他们接收到tap时调用值更改的方法.

Der*_*ius 36

也许我没有正确理解你的问题,但你不能只使用它:

[segmentedControl addTarget:self 
         action:@selector(action:)  
         forControlEvents:UIControlEventValueChanged];
Run Code Online (Sandbox Code Playgroud)

并只是用UIControlEventTouchDragIn替换UIControlEventValueChanged?然后在你的动作方法中做任何需要做的事情,比如改变UILabel的文本.

我有一个带有一堆单元格的UITAbleView和每个单元格中的UISegmentedControll,它对我来说效果很好.

UISegmentedControl的文档似乎在网上不可用,但你可以在XCode的Organizer中看到它,上面的代码是第一个例子.


mjd*_*dth -7

您可以将 UISegmentedControl 子类化并覆盖

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    return;
}
Run Code Online (Sandbox Code Playgroud)

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

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