使用 Xcode 7 自定义 UITableViewCell 和 UITextfield

Posted

技术标签:

【中文标题】使用 Xcode 7 自定义 UITableViewCell 和 UITextfield【英文标题】:Custom UITableViewCell with UITextfield using Xcode 7 【发布时间】:2015-11-20 12:29:42 【问题描述】:

我正在使用带有文本字段的自定义 UITableViewCell。当我按下右侧导航栏按钮(例如:完成等)时,我想访问每个文本字段的数据。我正在使用以下代码:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 

    return 2;


#pragma mark - UITableViewDelegate

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

    CustomCell *cell = [[[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil] objectAtIndex:0];
    if (cell == nil) 

    
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
    cell.valueTextField.delegate = self;
    switch (indexPath.row) 
        case 0:
            cell.itemImageView.image = [UIImage imageNamed:@"user.png"];
            cell.valueTextField.placeholder = @"UserName";
            break;
        case 1:
            cell.itemImageView.image = [UIImage imageNamed:@"mail.png"];
            cell.valueTextField.placeholder = @"Email";

        default:
            break;
    

【问题讨论】:

【参考方案1】:

试试这个

-(IBAction)rightNavigationButton:(id)sender


NSInteger rowNumber = [projectListTable numberOfRowsInSection:0];

    NSIndexPath *indexpath = [NSIndexPath indexPathForRow:[projectListTable numberOfRowsInSection:0] inSection:0];

    for(int i = 0; i < rowNumber; i++)
    
        CustomCell *cell = [projectListTable cellForRowAtIndexPath:[NSIndexPath indexPathForRow:rowNumber inSection:0]];
        NSString *str =  cell.valueTextField.text;

//Do here what you want to do with textfield of each cell
    

【讨论】:

【参考方案2】:

我解决了这样的问题:

 -(void)clickOnSend:(id)sender

    NSInteger dynamicRows = [self.createUserTableView numberOfRowsInSection:0];
    for (int i=0; i<dynamicRows; i++) 
        NSIndexPath *indexPath = [NSIndexPath indexPathForRow:i inSection:0];
        UserProfileCell *cell = (UserProfileCell *)[self.createUserTableView cellForRowAtIndexPath:indexPath];
        DLog(@"cell textfield string :%@",cell.valueTextField.text);
    

【讨论】:

以上是关于使用 Xcode 7 自定义 UITableViewCell 和 UITextfield的主要内容,如果未能解决你的问题,请参考以下文章

切换到 XCode 7.0(.1) 后,自定义视图 (XIB) 在发布模式下崩溃

Xcode 7.3 解决自定义类无法自动联想

XCode 8 卡在运行 4 个自定义 Shell 脚本中的 2 个

带有自定义单元格的 UITableView 在 iOS 6 上画得很好,但在 iOS 7 上完全是白色的

如何在 .xib 文件中使用自定义 UITableView 和 UITableViewCell?

Xcode 7.1 iOS 9.1 模拟器透明