【问题标题】:Display label in custom uitableview cell after button press按下按钮后在自定义 uitableview 单元格中显示标签
【发布时间】:2016-02-21 04:15:12
【问题描述】:

我有一个带有三个标签的自定义 tableViewCell(我们称之为“A”)。

当在同一个 tableView 的另一个单元格中按下按钮时(因为所有表格视图单元格都不同),我想在“A”中显示一个标签以及这三个标签。

我应该隐藏第四个标签并在按下按钮后取消隐藏它吗?怎么可能实现?有没有其他方法可以做到这一点?

我还应该在我的 nib 文件中添加该标签吗?第一次加载表格时,这不会给单元格增加额外的空间吗?

谢谢

【问题讨论】:

  • 对你有用吗....
  • 它确实有效!但是在 tableviewcell 中加载的 nib 的大小保持不变。如果隐藏第四个标签,我希望它减小大小。
  • 你需要使用约束来管理这个
  • 第四个标签在第二个和第三个标签之间,设置约束能解决问题吗?如果是,我们在谈论什么样的约束?
  • 为了管理约束,您需要采用固定宽度约束和约束出口。隐藏时更改.constant

标签: ios objective-c iphone


【解决方案1】:

你应该按照以下方式进行

  • 应该有一个实体对象,它持有用于显示 第四个标签,或者你可以有一个全局标志。
  • 在要更改标签的按钮上添加目标操作。
  • 每当触摸按钮时,您都应该更改标志并重新加载 部分
  • 隐藏和取消隐藏标签的代码应该在 方法tableView:CellForRowAtIndexPath

    -(IBAction)ShowButtonTouchUpInside
    {
        NSRange range = NSMakeRange(0, 1);
        NSIndexSet *sectionToReload = [NSIndexSet indexSetWithIndexesInRange:range];                                     
        [self reloadSections:sectionToReload withRowAnimation:UITableViewRowAnimationNone];
     }
    
    
    - (UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath{
             static NSString *CellIdentifier = @"Cell";    
             UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
             if (isShowFourtLable)
             {
               cell.fourthlabel.hidden =  NO;
             }else
             {
               cell.fourthlabel.hidden =  YES;
             }
    

    }

【讨论】:

  • 感谢您的帮助!隐藏和取消隐藏的代码是什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多