我有一个分段控制,5段..我想要一些事件被触发时触发发生在任何部分,我的意思是点击并按住,没有举起手指。 当用户抬起手指,它应该重置有什么办法我可以注册触摸下来UISegmentedControl
我一直在使用的touchesBegan和touchesEnded试过,但我不得到的touchesBegan当前的selectedIndex,这里是我的代码
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
long oldValue = self.selectedSegmentIndex;
[super touchesBegan:touches withEvent:event];
if (oldValue == self.selectedSegmentIndex)
[self sendActionsForControlEvents:UIControlEventValueChanged];
}
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
NSLog(@"touchesEnded");
NSLog(@"selectedIndex%lu",self.selectedSegmentIndex);
[super touchesEnded:touches withEvent:event];
self.selectedSegmentIndex = -1;
}
有什么办法为segmentedControl或其他选择实现触摸事件效果?
触动开始,细分还没有被选中,所以你不能得到它。 – kientux
@ kientux有没有什么办法可以在选择索引之前?我想要触发事件时触发 – vin
我认为只用UISegmentedControl时,触发事件无能为力,因为只有触摸时才选择段。如果你真的想这样做,你可以在每个片段上放置一个透明的按钮,当按钮被触及时,调用'setSelectedSegmentIndex:'。然后你有两个触摸事件和选定的索引。 – kientux