0

我有一个 UISegmentedControl 元素,其中有两个按钮(即“删除所有点”和“删除 Pt #x”)。我不希望按钮一直处于选中状态,所以我将它们设置为“momentary = YES”。在用户释放按钮之前,我也不想处理点击事件。问题是,我无法确定在 UISegmentedControl 视图中按下了两个按钮中的哪一个。

我试过的:

1)我试过使用“ValueChanged”事件。这里的好处是我可以获得按下按钮的选定索引(即使是瞬时=YES),但问题是如果在用户按下时触发此事件......我不想要。我想要用户释放手指时的事件,而我只想要用户在按钮视图中释放时的事件

2)我尝试过使用“Touch Up Inside”事件。但是当我点击其中一个按钮时它不会触发任何事件......

对此的任何帮助将不胜感激。(Objective-C 编程)

4

1 回答 1

0

当您说“我已尝试使用“Touch Up Inside”事件时,我不确定您的意思。除非您使用代码准确地指定您尝试过的内容,否则这只是一个毫无意义的短语。

理想情况下,您希望创建一个类似以下的方法,并将其设置为按钮的操作:

- (IBAction)myButtonTouched:(id)sender forEvent:(UIEvent *)event {
    if (event.type == UIControlEventTouchUpInside) {
        // do your thing
    }
}

基本上,您将该按钮的每个用户事件发送到处理程序并测试您想要的。

于 2019-08-30T20:46:27.033 回答