【问题标题】:How can I fade out text on a cell when I press edit button?按下编辑按钮时如何淡出单元格上的文本?
【发布时间】:2010-06-28 23:27:31
【问题描述】:

我想让单元格上的文本标签在我按下按钮时淡出。 我尝试指向我想要淡出的标签,但它只适用于最后一个单元格。

我发现 -(void) willTransitionToState:(UITableViewCellStateMask)state 是解决这个问题的方法,但是不知道怎么用。 我是否需要创建一个新类作为 UITableViewCell 类的子类?

任何帮助将不胜感激。谢谢!

【问题讨论】:

    标签: iphone objective-c text uitableview uilabel


    【解决方案1】:

    您是否尝试过使用 UIView 的动画? 应该是这样的:

    // Where you want to make the label fade out
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:0.3]; // in seconds, up to you
    cell.textLabel.alpha = 0.0;
    [UIView commitAnimations];
    

    【讨论】:

    • 您好,感谢您回答我的问题。我试过这段代码,但我只能淡出最后一个单元格。 cell.textLabel 不起作用,所以我改用 self.textLabel.alpha 。我想做的是像 cell.contentView.thirdLabel.alpha 因为单元格中有四个 UIlabels,但这不起作用...
    • 你在哪里添加了这段代码?您可以使用 UITableView 的“visibleCells”方法对任何单元格执行此操作(返回当前显示的单元格数组)。关于你的细胞,你是如何创造它的?它是 UITableViewCell 的子类,其标签存储在类变量中吗?也许您可以在原始问题中添加一些代码
    • 我仍然不知道如何使用 visibleCells。是不是类似于 [TableView visibleCells]; ?我通过代码创建了带有四个标签的单元格。创建单元格,并创建框架和 UILabels,并将子视图添加到单元格。 mainLabel = [[[UILabel alloc] initWithFrame:CGRectMake(5.0, 1.0, 290.0, 23.0)] autorelease];//英文名mainLabel.tag = 1; mainLabel.font = [UIFont boldSystemFontOfSize:15.0]; mainLabel.textAlignment = UITextAlignmentLeft; mainLabel.textColor = [UIColor blackColor]; [cell.contentView addSubview:mainLabel];谢谢!
    • 正如我所说,用您的代码编辑您的第一篇文章,它将更具可读性。如何检索指向标签的指针?使用 [cell viewWithTag:] ?至于 visibleCells 是的,它是一个实例方法,它返回一个 NSArray 的单元格。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-27
    • 2020-07-22
    • 2021-01-22
    相关资源
    最近更新 更多