【发布时间】:2013-01-21 18:56:07
【问题描述】:
我正在 iOS6 中开发一个应用程序,我正在使用 XCode 4.5.2。
我有一个样式为grouped 的UITableView。每个单元格都有一个 UITextField,其大小正好等于 UITableViewCell 大小。为了创建 UITextField,我使用了这段代码。
UITextField *txtField = [[UITextField alloc]initWithFrame:CGRectMake(20, 10, 320, 44)];
txtField.autocorrectionType = UITextAutocorrectionTypeNo ;
txtField.opaque = 1.0;
txtField.contentMode = UIViewContentModeCenter;
if(indexPath.row == 0)
txtField.placeholder = @"Name";
else if(indexPath.row == 1)
txtField.placeholder = @"Email";
if(indexPath.section == 2)
txtField.placeholder = @"Write here...";
[cell addSubview:txtField ];
我将此 UITextField 添加到 cell 作为子视图。问题是有时,当我点击单元格时,键盘应该会出现。但是,这是我单击任何单元格时的屏幕截图。
这意味着当我将 UITextField 添加到cell 时,它没有任何效果。因为,这是 UITableView 的正常行为。奇怪的问题是,当我再点击一次时,键盘出现了,而且它正在正常工作。但是,每个单元格上仍然有蓝色,我无法将其破坏。这是第二个屏幕截图。
而且,它并不总是发生,所以我无法检测出导致这种意外行为的原因。
你们知道我该如何解决这个问题吗?是什么原因造成的?
谢谢。
【问题讨论】:
-
我想你只需要将 tableView.allowsSelection 设置为 FALSE。
-
哇,它就像一个魅力。我不认为这会那么容易。添加您的评论作为答案,我会接受的。
标签: ios uitableview uitextfield