【问题标题】:UILabel text overlapping on update?UILabel 文本在更新时重叠?
【发布时间】:2009-02-02 07:57:29
【问题描述】:

在我的应用程序中,我将文本标签的值从初始值 0 更改为在触摸事件上递增。有时,但不是所有时候,新值会覆盖在 0 上,这并不酷..

这是相关代码:

UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
UILabel *label = (UILabel *)[cell viewWithTag:1000];
label.text = qtyString;

我尝试从视图中删除标签,然后添加另一个具有新值的标签,但这根本不影响问题。当我将单元格(标签是表格单元格的一部分)滚动出屏幕并返回时,标签会正确显示。哦,我也试过做

[tableView reloadData];

而且效果更好,但是如果我选择一个单元格,然后在它被高亮显示时滚动它,它会在该单元格上弹出。

请帮忙:(

【问题讨论】:

    标签: cocoa-touch


    【解决方案1】:

    检查“清除图形上下文”对我有用,我一开始不小心取消了它~~

    【讨论】:

      【解决方案2】:

      在您的 UILabel 选项下取消选中“不透明”,这将解决它。

      【讨论】:

        【解决方案3】:

        我遇到了同样的问题,UILabel 的文字乱七八糟,我只是阅读了其他解决方案,去了 IB,然后检查了“绘图前清除上下文”,然后就解决了!

        【讨论】:

          【解决方案4】:

          改变不透明并不会改变它,尽管它本来是逻辑的。如果给你的标签一个准确的高度,你可以做什么..这个高度将与你的井高度相匹配。如果你正在使用

          • (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
            { 返回 80; //返回浮点数,它将用于指定行索引处的单元格行高
            }

          就像我所做的那样,然后将标签的高度设置为 80,这将阻止它..

          【讨论】:

            【解决方案5】:

            恕我直言,解决此问题的最佳方法是将 else 添加到:

              UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
            if (cell == nil) {
                cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
            }else {
                NSArray *cellSubs = cell.contentView.subviews;
                for (int i = 0 ; i < [cellSubs count] ; i++) {
                    [[cellSubs objectAtIndex:i] removeFromSuperview];
                }
            }
            

            希望这会有所帮助。

            【讨论】:

              【解决方案6】:

              就我而言,将 Opaque 更改为 NO 解决了更新 UILabel.text 的问题 我在 awakeFromNib 中创建 uilabel。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2017-09-24
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多