gpt4 book ai didi

objective-c - iOS didSelectRow 没有在连续选择时调用?

转载 作者:行者123 更新时间:2023-11-29 13:25:15 24 4
gpt4 key购买 nike

我知道这是非常基本的问题,但我遇到了 UIPickerView 的奇怪行为。这是我的 scanario - 我在我的应用程序中使用 UIPickerView。我的问题是,当我单击一行时,didSelectRow 方法没有被调用,但是当我滚动选择器的行时,它就可以工作了。更具体假设当前选择了选择器的第一行,如果我单击第 4 行,则不会触发 didSelectRow 方法。我错过了什么?

更新:如果我从 viewDidLoad 方法注释这段代码,那么一切正常-

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]
initWithTarget:self
action:@selector(dismissKeyboard)];

[self.view addGestureRecognizer:tap];

-(void)dismissKeyboard {
[numberTextField resignFirstResponder];
[nameTextField resignFirstResponder];
[cityTextField resignFirstResponder];
[addressTextField resignFirstResponder];
[zipTextField resignFirstResponder];
}

最佳答案

我假设您正尝试使用点击手势识别器在用户点击 View 中的任意位置时关闭键盘。这导致的问题是现在您的 UIPicker 没有将触摸事件传递给它。对于可能的解决方案,我有两个想法。

1) 方法内部:

  • (CGPoint)locationOfTouch:(NSUInteger)touchIndex inView:(UIView *)view

测试位置和/或 View 以确定选择器是否被触摸,然后转发事件。

2) 不是将点击识别器添加到整个 View ,而是将一个不可见的 subview 添加到可能的点击区域以关闭不会与选择器重叠的键盘。

关于objective-c - iOS didSelectRow 没有在连续选择时调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13289149/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com