我想弄清楚如何做一些或许稍微不标准的事情。我有一个视图控制器(UIViewController),它有1个UITextField和3个UIButton。我基本上使用UIButtons作为切换;一次只能选择1个。所以,每个人都有:当UITextField是第一响应者时,UIButton仍然可选择吗?
[myButton1 addTarget:self action:@selector(buttonPushed:)
forControlEvents:UIControlEventTouchUpInside];
,我这样做是为了在按钮之间进行切换:
- (void) buttonPushed:(id)sender
{
myButton1.selected = NO;
myButton2.selected = NO;
myButton3.selected = NO;
if (sender == myButton1) {
myButton1.selected = YES;
}
else if (sender == myButton2) {
myButton2.selected = YES;
}
else if (sender == myButton3) {
myButton3.selected = YES;
}
}
现在的事情是,我还是想的按钮可以进行选择,即使文本字段键盘向上(当显示键盘时,按钮和文本字段都可见)。但由于文本字段具有第一响应者,因此按钮触摸不被识别(永远不会到达目标按钮压下的方法)。我不希望用户不得不关闭键盘来选择一个按钮。 我该怎么做?谢谢!
谢谢你。虽然这些触摸方法似乎不适用于UIButton。我想我可以继承UIButton并从那里去拦截触摸方法。不知道这是否是解决方案,但我会从那里开始。 – aSadhankar 2011-06-11 07:46:50
你应该检查斯蒂芬费舍尔的答案。他是对的 – 2011-06-11 09:33:28