मैं लगभग UITableViewCell
को UITextField
के साथ कार्यान्वित कर रहा हूं। बल्कि तो जा रहा CGRectMake
के माध्यम से और UITableViewCell.contentView
मैं इसे सरल तरीके से लागू किया है:UITextViewCell UITextField के साथ UITableView पंक्ति का चयन करने की क्षमता खो रहा है?
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:@"Cell"];
[cell setSelectionStyle:UITableViewCellSelectionStyleBlue];
amountField = [[UITextField alloc] initWithFrame:CGRectMake(110, 10, 190, 30)];
amountField.placeholder = @"Enter amount";
amountField.keyboardType = UIKeyboardTypeDecimalPad;
amountField.textAlignment = UITextAlignmentRight;
amountField.clearButtonMode = UITextFieldViewModeNever;
[amountField setDelegate:self];
[[cell textLabel] setText:@"Amount"];
[cell addSubview:amountField];
return cell;
}
और फिर मैं भी didSelectRow
पद्धति लागू, पाठ फ़ील्ड इस्तीफा दे दिया अन्य क्षेत्रों इनपुट दृश्यों दिखा अनुमति देने के लिए।
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
...
[amountField resignFirstResponder];
...
}
यह सुचारू रूप से काम करता है, केवल एक चीज है, तालिका में अन्य पंक्तियों देखते हैं तब होता है जब उन अन्य लोगों का चयन किया जाता पूरे सेल चुना गया है और ब्लू बदल जाता है, जबकि मेरी UITextField के साथ एक नहीं है, मैं क्षेत्र मतलब चुना गया है और मैं पाठ दर्ज कर सकता हूं लेकिन सेल का चयन नहीं किया गया है। मैं इसे परीक्षण किया है और पता लगा समस्या कतार में है है:
[cell addSubview:amountField];
ऐसा लगता है कि इस चयन सेल व्यवहार टूट जाता है, और यहां तक कि [cell contentView]
में जोड़ने से इसे ठीक नहीं है। क्या मैं कुछ भुल गया?
आप निर्धारित करते हैं तो 'userInteractionEnabled = नहीं;' इस UITextField असंपादित प्रस्तुत करना नहीं होगा? –
स्पष्ट रूप से नहीं: मैंने एम्स्टस्टैक सलाह का पालन किया है और सेट किया है [राशि फ़ील्ड setUserInteractionEnabled: NO]; DidSelectRow विधि की शुरुआत में, और फिर [राशि फ़ील्ड setUserInteractionEnabled: YES] तभी जब चयनित पंक्ति टेक्स्ट फ़ील्ड वाला है। चयन अब ठीक है, लेकिन मुझे वास्तव में टेक्स्ट दर्ज करने के लिए पंक्ति पर दो बार टैप करना होगा ... –
@micpringle, ofcourse। टेक्स्ट फ़ील्ड सेल को भरने के रूप में उनके पास टेक्स्ट फ़ील्ड और सेल दोनों स्पर्श नहीं कर सकते हैं। – EmptyStack