iphone - 奇怪的行为-选择行触摸没有响应 UITableViewCell

标签 iphone uitableview didselectrowatindexpath

我有一个很奇怪的问题,我不知道这对细胞的正常行为是否很尴尬,似乎是这样!因此我把它交给可以回答的人,如果有的话请道歉问这个问题是愚蠢的。通常,当我们触摸 TableView 单元格时,会发生什么,它会导航到 View Controller /编码的 Controller 。现在奇怪的是它没有响应选择或触摸。我已检查是否允许在 IB 中选择编辑时进行选择。我已选择它,现在这里的问题是当我触摸表格 View 单元格时它没有响应,而是当我水平滑动它/长按时单元格,它正在导航,对这种奇怪的行为感到非常惊讶!我不明白为什么我需要滑动它才能在 TableView 中选择单元格工作。 TableView 下方的按钮也会发生这种情况!

我搜索了与我的案例类似的问题,但我只找到了一个 question那里建议检查此方法,

-(NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath

但我根本没有实现该方法,我实际上拥有的是一个带有多个项目的选项卡栏,其中我有一个名为 AddController 的 Controller ,用于访问多个属性和字符串等。在 Controller 中声明,我是对其进行子类化如下:

@interface ViewController : AddController

现在因为我看到的问题中指定了它,即我给出的链接,为了检查您是否在子类 Controller 页面中复制相同的代码,我谈到了子类化以及我做了什么,希望每个人都能理解!

任何人都可以指导我如何解决这个问题,并使表格 View 单元格响应正常触摸,非常感谢任何帮助!

提前感谢大家:)

最佳答案

经过一些研究后,我很确定是 tableView 上的 UITapGestureRecognizer 导致了您的问题。如果您像我一样在单元格中包含文本字段并使用 UITapGestureRecognizer 关闭键盘,那么这是我的解决方案:

在您实现UITextFieldDelegate的 View 中

(在我的例子中,我有一个名为 TextFieldCell 的自定义 UITableViewCell),

UITapGestureRecognizer 声明为属性:

@interface TextFieldCell : UITableViewCell <UITextFieldDelegate>
{
    UITextField *theTextField;
    UITapGestureRecognizer *gestureRecognizer;
}
@property (nonatomic,retain) UITextField *theTextField;
@property (nonatomic,retain) UITapGestureRecognizer *gestureRecognizer; 

并在您的 View 中初始化它:

self.gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(closeKeyboard:)];

- (void)textFieldDidBeginEditing:(UITextField *)textField 方法中,使用 superView 向上移动到 tableView 并调用 addGestureRecognizer :

[self.superview.superview addGestureRecognizer:gestureRecognizer];

- (void)textFieldDidEndEditing:(UITextField *)textField 中,只需删除手势识别器:

[self.superview.superview removeGestureRecognizer:gestureRecognizer];

这将彻底解决问题。

关于iphone - 奇怪的行为-选择行触摸没有响应 UITableViewCell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9939509/

相关文章:

iphone - 如何使用 PhoneGap(在 iPhone 上)获取用户的电话号码?

ios - ScrollView.contentSize 不适用于 IOS 7

ios - 自定义默认导航编辑按钮(如何保持其状态?)

ios - 动态高度 UILabel 在离开屏幕后工作

ios - 具有indexpathforselectedrow的数组逻辑

iphone - 这是转到下一个 UITextField (使用 textFieldShouldReturn)的一种黑客方式吗?

iphone - Objective-C - 子类中的重写方法

ios - 在从 Firebase DB 获取结果的 UITableView 上实现搜索

ios - Tableviewcell 应该知道它是否在应用程序加载时被选择 - iOS swift

ios - TableView:如何从 didSelectRowAtIndexPath 例程中选择另一行的值