UITableView 中可编辑的 UITextArea 值

发布于 2024-10-07 12:06:13 字数 341 浏览 0 评论 0原文

我需要一个带有键和值的基本 UITableView。我修改每个单元格以包含 UILabel 和 UITextArea。我的问题是,当我单击单元格时,单元格给出蓝色的单击响应,但键盘没有出现,并且 UITextField 没有显示任何编辑响应。

在 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 中,我可以获取文本字段,并为其设置文本,但我想打开键盘以在文本字段中写入。

当我修改单元格时,我将所有 UITextFields 设置为firstResponder,但没有运气。

有人吗?

I need a basic UITableView with key and value. I modify each cell to contain a UILabel, and a UITextArea. My problem is when I click the cell, the cell gives the blue click-response, but the keyboard does not appear, and the UITextField is not showing any response for editing.

In - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath I can get the textField, and set text to it, but I want to open the keyboard for writing in the textField.

When I modify the cell, I set all UITextFields to firstResponder, without luck.

Anyone?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

埋葬我深情 2024-10-14 12:06:13

据我记得,您可以使用 UITableViewStyleValue1 并将详细文本标签设置为 CellForRow 中的 UITextlabel 。但请注意 TextLabel 具有合适的宽度和高度。然后你就不必选择Cell,而是可以直接点击UITextLabel

As far as I remember, you can use the UITableViewStyleValue1 and just set the detailTextlabel to be an UITextlabel in your CellForRow. But take care that the TextLabel has a fitting width and height. Then you dont have to select the Cell but can directly tap the UITextLabel

嘴硬脾气大 2024-10-14 12:06:13

我查阅了我以前的一个项目,发现当时我处理事情的方式有点不同。这就是我所做的:

cell = [self.aTableView dequeueReusableCellWithIdentifier:kPlaceCell];
                if (cell == nil) {
                    cell = [[[UITableViewCell alloc] initWithStyle: UITableViewCellStyleValue1 reuseIdentifier:kPlaceCell] autorelease];
                }


//PlaceField = An Instance of UITextfield, which I implemented as classvar.             
               [self.placeField removeFromSuperview];

// setting frame and font for your textfield. If you have static text in your Textlabel you should have an higher x so maybe CGRectMake (1, 100, 218, 39)

                self.placeField.frame = CGRectMake(1, 1, 318, 39);
                self.placeField.font = [UIFont boldSystemFontOfSize:18.0f];

//Adding your UITextfield to the UITableViewCell contentView

                [cell.contentView addSubview: self.placeField];
            }

如果有人想知道:我使用这个 tableView 以便用户可以创建一个用户帐户并使用占位符(姓名,出生日期,....),所以我不需要静态文本。 ^^

告诉我这对您有何作用或者您是否需要进一步的解释

I looked up one of my older projects and found out I handled things a little different back then. Here is what I did:

cell = [self.aTableView dequeueReusableCellWithIdentifier:kPlaceCell];
                if (cell == nil) {
                    cell = [[[UITableViewCell alloc] initWithStyle: UITableViewCellStyleValue1 reuseIdentifier:kPlaceCell] autorelease];
                }


//PlaceField = An Instance of UITextfield, which I implemented as classvar.             
               [self.placeField removeFromSuperview];

// setting frame and font for your textfield. If you have static text in your Textlabel you should have an higher x so maybe CGRectMake (1, 100, 218, 39)

                self.placeField.frame = CGRectMake(1, 1, 318, 39);
                self.placeField.font = [UIFont boldSystemFontOfSize:18.0f];

//Adding your UITextfield to the UITableViewCell contentView

                [cell.contentView addSubview: self.placeField];
            }

If anyone wonders: I used this tableView so that the user can create an user account and used Placeholders for (Name, Date of birth,....) so I didn't need static text. ^^

Tell me how this works for you or if you need further explanations

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文