在选择器视图上未按下按钮
Posted
技术标签:
【中文标题】在选择器视图上未按下按钮【英文标题】:button not getting pressed on picker view 【发布时间】:2012-11-20 11:02:52 【问题描述】:我在选择器的委托方法中添加一个按钮作为行方法的视图。但是在 ios4.0 中按钮没有被按下,它在 iOS5.0 及更高版本上工作正常。
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view
NSArray *__autoreleasing views = [[NSBundle mainBundle] loadNibNamed:@"PickerRowView" owner:self options:nil];
self.pickerDataView = [views lastObject];
self.labelBtn = (UIButton *) [pickerDataView viewWithTag:101];
[self.labelBtn addTarget:self action:@selector(labelBtnPressed:)forControlEvents:UIControlEventTouchUpInside];
return pickerDataView;
此代码在 iOS5 及更高版本上运行良好,但在 iOS4.0 上运行良好。谁能告诉它为什么会发生??
【问题讨论】:
pickerData 视图,我添加为行视图包含一个按钮,该按钮没有被按下,因此它的动作选择器在 iOS4.0 中没有被触发 你确定在 iOS4 中,self.labelBtn
不是 nil 吗?
@iVishal 检查 self.labelBtn = (UIButton *) [pickerDataView viewWithTag:101];然后 self.labelBtn 这有任何参考 some thing.means 有参考...
是的,当然,相同的代码在 iOS5 及更高版本上运行良好。在 iOS4.0 中,当我按下按钮时,它的文本会突出显示,但它的动作不会被调用。
@iOS-Deveoper 是的,它有参考,我刚刚检查过...0x6a92730
【参考方案1】:
只需检查没有其他视图与您的按钮视图重叠,这是您面临的唯一问题。因此,请尝试找出重叠的透明视图,如果可能,请将代码发送给我们,以便我们为您提供最好的服务。
【讨论】:
选择器视图是滚动视图的子视图,没有选择器视图的视图..并且按钮在 iOS5 上工作正常,如果有重叠问题,那么它也不会在 iOS5.0 上工作。好吧,我不得不改变我的设计,但我仍然想知道为什么在 iOS4 及以下版本中没有按下按钮。我已经在问题中发布了代码。 Vishal,让我做一个示例代码,然后将所需的 url 转发给您,以便您解决问题。 嘿 Vishal,由于我的日程安排很紧,我会花一点时间为您提供样品,但同时帮我一个忙,而不是在滚动视图中添加您的选择器视图,您应该这样做你的窗户......我希望它一定会帮助你...... 你好 Mohit..谢谢你花一些时间来解决我的问题。我会尝试你的解决方案。再次感谢:)以上是关于在选择器视图上未按下按钮的主要内容,如果未能解决你的问题,请参考以下文章