gpt4 book ai didi

iOS 在 UITableViewCell 上获取 subview 的引用

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:08:06 27 4
gpt4 key购买 nike

我正在使用 UITableView 创建自定义控件。此控件只是一个 TableView ,在一个部分中包含多行。我们将其命名为 MyCustomControl

在 TableView 的每个单元格中,我添加了一个 UITextField 控件。

----------------
| ------------ |
|| Text Field || -> CELL
| ------------ |
----------------

此单元格只是默认的 UITableViewCell,我使用 [cell addSubview:textField]; 添加了文本字段

我使用如下方法访问 TableView 中的每个文本字段组件:

- (UITextField*) textFieldAtIndex:(NSInteger)index
{
NSIndexPath* indexPath = [NSIndexPath indexPathForRow:index inSection:0];

UITableViewCell* cell = [self tableView:[self containerTableView] cellForRowAtIndexPath:indexPath];

UITextField* textField = [[cell subviews] lastObject];

return textField; // It should returning the reference of textField right??
}

曾几何时,我在项目某处的 View Controller 中使用此 MyCustomControl

- (void) viewDidLoad
{
[super viewDidLoad];

CGPoint origin = CGPointMake(100.f, 100.f);

CGFloat width = 200.f;

// Create custom control with text field generated as many as given parameter
MyCustomControl* textGroup = [[MyCustomControl alloc] initWithOrigin:origin width:width textFieldCount:2];

// Here is the problem, I try to set current view controllers's text fields
// with the text field generated by MyCustomControl.
// Text field returned are new text field with same properties instead of reference.
self.txtUsername = [textGroup textFieldAtIndex:0]; // Text Field are copied!
self.txtPassword = [textGroup textFieldAtIndex:1]; // Not return a pointer!

[self.txtUsername setDelegate:self]; // Fail
[self.txtPassword setDelegate:self]; // Fail

[[self view] addSubview:textGroup];

[[self view] addSubview:[self txtUsername]]; // New text field appeared on view
}

我希望可以完全控制 MyCustomControl 中的文本字段,该方法可以通过 textFieldAtIndex: 方法访问,但我没有引用该文本字段,而是得到了一个新的文本字段副本在我的 View Controller 中。而且我无法为该文本字段设置委托(delegate),也无法为所有其他内容(如文本)设置委托(delegate)。

如何从该 TableView 单元格中的文本字段获取引用?

最佳答案

检查我对此的回答,他们想要一个文本字段,但过程是相同的,比这里的其他一些解决方案更简洁:

How to get UITableView Label Text string - Custom Cell

假设您知道索引路径。

关于iOS 在 UITableViewCell 上获取 subview 的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18569862/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com