我拥有的是在单独的.xib
. 有了它,我就有了一个 Objective-C 类。我将自定义单元格中的标签连接到自定义单元格的类。
在我的主要 .xib 中,我有一个TableView
自定义单元格被添加到。进行填充的代码位于主类 (ViewController.m) 中。
那么如何label
从主类(ViewController.m)更改自定义单元格中的?
当用户点击自定义单元格时,会显示一个对话框,并且label
自定义单元格中的文本会根据对话框中选择的按钮进行更改。
我拥有的是在单独的.xib
. 有了它,我就有了一个 Objective-C 类。我将自定义单元格中的标签连接到自定义单元格的类。
在我的主要 .xib 中,我有一个TableView
自定义单元格被添加到。进行填充的代码位于主类 (ViewController.m) 中。
那么如何label
从主类(ViewController.m)更改自定义单元格中的?
当用户点击自定义单元格时,会显示一个对话框,并且label
自定义单元格中的文本会根据对话框中选择的按钮进行更改。
由于它是一个表格单元格,我假设您在表格视图中使用它。你通常通过
- (UITableViewCell *)UITableView:(UITableView *) cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"myCustomCell";
MyCustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"MyCustomCell" owner:self options:nil];
for (id anObject in nib) {
if ([anObject isKindOfClass:[MyCustomCell class]]) {
cell = (MyCustomCell *)anObject;
}
}
}
cell.myLabel.text = @"Some Text"; // This will set myLabel text to "Some Text"
return cell;
}
您必须为标签分配一个标签,即界面生成器中的 99。然后,在 ViewController.m 中,当你加载单元格时,加载 xib 后你可以做
UILabel *label = [cell viewWithTag: 99];
label.text = @"Some text here... (:";
那会成功的!:)
它非常简单:
首先在您的 customcell 中创建标签的属性
自定义单元格.h
@interface CustomCell : UITableViewCell
@property (strong, nonatomic) IBOutlet UILabel *yourLabel;
现在在您的 TableViewController 中创建 customcell 的实例
YourTableViewController.h
@interface YourTableViewController : UITableViewController<
{
CustomCell *cell;
}
并在 YourTableViewController.m
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
cell = (CustomCell *) [tableView dequeueReusableCellWithIdentifier:nil];
if (cell == nil)
{
NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil];
for (id currentObject in topLevelObjects){
if ([currentObject isKindOfClass:[UITableViewCell class]]){
cell = (CustomCell *) currentObject;
break;
}
}
}
cell.yourLabel.text = @"whatever you want to add";
现在,如果您想以其他方法更新 customcell 的标签,而不仅仅是这样做。
-(void)someMethod()
{
CustomCell *acell = (CustomCell *)[tableView cellForRowAtIndexPath:n];
acell.yourLabel.text = @"whatever you want to add.";
}
我想了一个不同的方法,目前我已经停止了 iOS 开发,因为我讨厌它,哈哈
不管怎样,谢谢大家这么快回复。