uitableviewcell 上的 tableview 中出现重复行

2024-02-27

我发现一些帖子与我的问题相似但不完全相同。

在我的应用程序中,用户可以在多个 uitableviews 之间导航以深入了解所需的结果。当用户向前、然后向后、然后向前等时,可以注意到行正在被重绘/重写,并且文本变得越来越粗。

我发现在一些帖子中这可能与我创建行的方式有关,在cellforrowatindexpath method.

我是否需要做一些事情,以便每次用户在表视图之间前进和后退时不会重新填充/重绘行?我是否需要在下面的代码中添加一些内容,或者在 viewwillappear 方法中添加一些内容(当前在表的 viewwillappear 中有一个“reloaddata”,但似乎没有帮助)?

这是我的代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{
static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) 
{
    cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
}
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

    UILabel *label = [[[UILabel alloc] init] autorelease];
    label.font = [UIFont fontWithName:@"Arial-BoldMT" size:20];
    label.frame = CGRectMake(10.0f, 10.0f, 220.0f, 22.0f);
    label.textColor = [UIColor blackColor];
    label.backgroundColor = [UIColor clearColor];
    label.opaque = NO;
    label.text = [mapareaArray objectAtIndex:indexPath.row];
    [cell.contentView addSubview:label];

    CustomCellBackgroundView *bgView = [[CustomCellBackgroundView alloc] initWithFrame:CGRectZero];
    bgView.borderColor = [UIColor clearColor];
    bgView.fillColor = [UIColor whiteColor];
    bgView.position = CustomCellBackgroundViewPositionSingle;
    cell.backgroundView = bgView;
    return cell;
}

您遇到的问题是由于这一行:

[cell.contentView addSubview:label];

您正在向表格单元格添加子视图,无论它是否是新单元格。如果它是旧单元格(从可重用池中出列),那么您将向该单元格添加另一个子视图。

相反,您应该标记 UILabel,然后使用标记找到它以修改该 UILabel 的内容。在 if( cell == nil ) 块内添加(并设置其所有属性)并标记 UILabel:

if(cell == nil) {
  // alloc and init the cell view...

  UILabel *label = [[[UILabel alloc] init] autorelease];
  label.tag = kMyTag; // define kMyTag in your header file using #define
  // and other label customizations
  [cell.contentView addSubview:label]; // addSubview here and only here
  ...
}

然后使用以下命令找到它:

UILabel *label = (UILabel *)[cell.contentView viewWithTag: kMyTag];
label.text = [mapareaArray objectAtIndex:indexPath.row];

并且无需将其重新添加为 if(cell == nil) 块之外的子视图。子视图已经存在(这就是为什么重用单元格视图效率更高,如果你做得正确的话,那就是;)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

uitableviewcell 上的 tableview 中出现重复行 的相关文章

  • 签名仅对临时无效

    我不确定我的临时项目发生了什么变化 但在尝试安装时出现此错误 应用程序未通过协同设计验证 签名无效 或者不是用Apple提交证书签名的 19011 设备调试构建良好 与我的临时配置文件关联的证书直到 2011 年才会过期 我搜索了 Goog
  • 是否可以在“NSFetchRequest”中按子类排序而不添加其他属性?

    我想对结果进行分组NSFetchRequest按实体 这些实体都共享相同的抽象父级 例如 animal cat dog The NSFetchRequest has includesSubentities set TRUE and enti
  • [UITableView _contentOffsetForScrollingToRowAtIndexPath:atScrollPosition:]

    我正在使用表格视图来显示消息 我使用了下面的代码 UIView chatView self bubbleView NSString stringWithFormat message from YES self chatArray addOb
  • 检测 UIWebView 中的 Zoomscale

    我的问题是我想检测 UIWebView 的缩放比例 我尝试搜索它但没有得出正确的答案 感谢任何帮助 好吧 虽然UIWebView没有zoomScale财产 UIScrollView做 所以我们只需扫描它subView s为了scrollVi
  • 如何让 iPhone 屏幕变暗

    我的 iPhone 屏幕上有一个刷新按钮 可以刷新当前视图中的表格 屏幕刷新得很漂亮 但是有没有办法让屏幕变暗 然后在表格刷新后再次变亮 您可以在要调暗的视图上放置一个带有黑色背景的非不透明视图 默认情况下 其 alpha 值为 0 因此是
  • 在 iPhone 上搜索 PDF

    经过两天尝试使用 Quartz 从 PDF 中读取注释后 我成功做到了并且发布我的代码 https stackoverflow com questions 4080373 get pdf hyperlinks on ios with qua
  • 帮助在 UIWebView 中使用 Javascript 代码

    我想在 webView 中运行以下代码 以便内容可编辑 javascript document body contentEditable true document designMode on void 0 到目前为止 我已经尝试过这个 v
  • 隐藏故事板中的导航栏

    谁能告诉我如何隐藏故事板中的导航栏 我下面的代码在模拟器中运行时工作正常 但它仍然出现在我的故事板中 这真的很烦我 因为它弄乱了我的图像的位置 有人可以帮忙吗 void viewWillAppear BOOL animated super
  • Flipboard 动画

    有谁知道如何构建像 Flipboard 应用程序一样的翻转动画 谢谢 如果你指的是翻页过渡 请查看我编写的 OpenGL 过渡类 https github com epatel EPGLTransitionView https github
  • iPhone Mobile Safari:强制键盘打开

    这是一个 HTML CSS JS jQuery iPad 应用程序 我有一个按钮 可以向下滑动输入表单 我想让用户将注意力集中在输入上 然后启动键盘 这是我正在处理的 但不起作用 myFormField focus 这确实集中了输入 但无法
  • iphone相当于android打开其他应用程序的意图

    是否有像 iphone 中可用的 android 意图功能 Android 使用意图从调用应用程序打开其他应用程序 以使用其他应用程序已实现的功能 我在某处读到 iphone 有 url 方案 但找不到更多信息 thanks 尝试查看以下答
  • 从本机 iPhone 应用程序访问 UIWebView 本地存储数据

    我正在编写一个包含 UIWebView 组件的本机 iPhone 应用程序 该组件访问互联网 Web 应用程序 并且该 Web 应用程序使用 HTML5 本地存储离线存储数据 是否可以从本机应用程序访问此本地存储数据 我想做类似的事情 简而
  • iPhone:每日本地通知

    我正在尝试实现本地通知 这就是我所设置的 Current date NSDate date NSDate date Add one minute to the current time NSDate dateToFire date date
  • 调用当前的 Modal ViewController 两次?

    我遇到了 UIViewController presentModalViewController 被调用两次的问题 我有一个模态视图 我试图调出另一个模态视图 但第二次没有任何反应 我怀疑它被隐藏了 还有其他人这样做过吗 您不能在同一个父控
  • gestureRecognizer shouldReceiveTouch 持续存在于已释放的视图中导致崩溃

    我有一个相当简单的 UITableView 它在堆栈上推送一个新视图 新视图有一个像这样初始化的gestureRecognizer synthesize swipeGestureLeft void viewDidLoad swipeGest
  • 检测 iPhone 屏幕是否打开/关闭

    有没有办法检测 iPhone 的屏幕是打开还是关闭 例如 当按下手机的屏幕锁定按钮时 我一直在使用 void applicationWillResignActive UIApplication application 为此类事件做准备 在大
  • 按升序对 NSDictionary 进行排序

    我正在尝试排序NSDictionary按升序排列 我正在使用这段代码 NSDictionary valDict self mGetDataDict key rowKey for NSString valueKey in valDict al
  • 如何订阅设备方向(非界面方向)事件?

    在我的应用程序中 我想在设备旋转 方向更改 的情况下调用 CCScene myscene 中的某些方法 我禁用了自动旋转 因为我希望它不会发生 问题是 我想根据我的设备方向改变场景中的重力 我的代码 void onEnter super o
  • 增加 iPhone 的推送通知徽章

    是否可以在收到通知时增加徽章值 或者我应该将计数作为有效负载发送吗 如果我每次都将徽章值发送为 1 那么如果应用程序未打开 我如何增加应用程序图标中的徽章值 我已经使用了这段代码 但不起作用 void application UIAppli
  • 如何检测 UITableView 中某个单元格的双击?

    如何检测某个单元格上的双击UITableView i e 如果用户进行了一次触摸 我想执行一个操作 如果用户进行了两次触摸 我想执行另一个操作 我还需要知道进行触摸的索引路径 我怎样才能实现这个目标 Thanks 如果您不想创建子类UITa

随机推荐

  • 如何在 Android 4 中获取 webview 比例

    WebView getScale 已弃用 但仍然可用 获取 webview 比例的推荐方法是使用 WebViewClient onScaleChanged http developer android com reference andro
  • Magento:如何加载产品及其在管理中使用的所有数据

    我正在尝试获取捆绑选项数据 使用这个 product gt getBundleOptionsData我需要使用它 因为我正在尝试以编程方式更改数据 并且我想以与 admin 中使用的方式尽可能接近的方式进行操作 但是 当我 var dump
  • jQuery .prop("disabled", false) 未启用输入

    在页面加载上禁用输入后 我在重新启用输入时遇到问题 我使用两个输入来接受两个日期 但我希望在第一个输入有值之前不启用第二个输入 div div
  • 为什么此模式生成关系 n:m

    我有这个 schema yml 文件 只是相关部分 SdrivingMaquina actAs Timestampable columns idmaquina type integer 8 autoincrement true notnul
  • 仅在打开的文件中搜索和替换 (netbeans)

    有人知道是否可以在 netbeans 中搜索和替换所有打开的文件吗 如果有的话 似乎找不到这个选项 我正在使用 Netbeans 6 9 PHP IDE CTRL SHIFT H 这将打开 在项目中替换 您可以在其中搜索和替换所有打开的项目
  • 如何在atom包内设置断点?

    我想弄清楚为什么这个原子包https github com AtomLinter linter elixirc https github com AtomLinter linter elixirc 行为不端 它的作者说我应该在包的某些函数中
  • Asp .Net Core 2 + SignalR (1.0.0-alpha2-27025) + /signalr/negotiate 404 错误

    我将 SignalR 添加到 ASP Net Core 2 应用程序 packages Microsoft AspNetCore All 版本 2 0 0 Microsoft AspNetCore SignalR 版本 1 0 0 alph
  • ES6 导出对象的所有值

    假设我有一个模块 my module js 有一个对象 该对象应该是它的返回值 let values a 1 b 2 c 3 export values results in SyntaxError Unexpected token 所以我
  • FParsec 只解析括号之间的 expr

    我正在编写一个解析器 用于学习 pourpuses 我希望它能够解析类似的结构 let myVar be 40 plus 2 and let myVar be 40 plus 2 没有问题 但我的解析器不 理解 前者 它看到的是40并认为
  • Apache Netbeans 版本 11.1 使用 OpenJDK 11 构建错误

    我有一个使用 JDK 8 和 NB 8 2 创建的项目 我想使用 OpenJDK 11 将该项目迁移到 NB 11 1 环境是 Windows 10 上的 NB 11 1 全新安装 使用 OpenJDK 11 0 2 我将所有源代码和库 j
  • updatepanel 回发后调用 javascript

    我将以下 javascript 代码内联放置 但在 updatepanel 完成回发后它不会触发 function EndRequestHandler sender args alert this should work Sys WebFo
  • Jquery 选项卡,在 Firefox 中重新加载 jQuery HTML 后,未格式化的列表会闪烁

    我正在使用最新的 jQuery 选项卡 并且我的所有选项卡 以及它们上面的其他内容 都位于包含 Div 中 其中一个选项卡中有一个表单 当表单提交时 通过 AJAX 对其进行处理 然后返回的 HTML 替换整个包含的 Div 返回的 HTM
  • 反射应该使用到什么程度?

    我们在项目中遇到了一个非常棘手的场景 我们在项目中使用了很多反射 我们有 由属性和反射驱动的验证框架 使用属性和反射将 DataRow 转换为实体对象的扩展方法 反之亦然 我们对 DataTable 和 EntityCollections
  • 统计PHP页面中所有HTML标签

    我花了时间在正则表达式上解决这个问题但没有结果 我尝试使用 PHP 5 3 解决这个问题 诸如 在页面中重复的次数以及有关页面中所有标签的信息等信息 不幸的是 您的问题目前的形式几乎无法理解 请尝试更新并更具体 如果你想计算页面中所有 HT
  • Intl.DateTimeFormat 选项哈希:使用“2 位数字”获取前导零

    Intl DateTimeFormat en US weekday long year numeric month long day 2 digit hour 2 digit minute 2 digit second 2 digit fo
  • 如何使用 d3.js 将填充部分添加到 SVG 圆圈

    我正在使用 d3 js 生成一些 SVG 圆圈 我能够生成它们 但我不知道如何将它们分成 4 个相等的部分并为每个部分填充颜色 我正在使用 d3 js 版本 4 这是我的小提琴中的 javascript 片段 var nodes type
  • 无法通过curl或Postman访问docker url

    我可以使用以下路径在浏览器中访问我的网站 my dash docker localhost 8000 我正在尝试编写一个API端点 但无法通过Postman或curl访问该网站 curl my dash docker localhost 8
  • 将数据存储到 DOM - 元素值与数据属性

    要将值存储在 DOM 元素中 我们可以通过data属性 abc data item 1 检索做 abc data item 但今天我了解到我们也可以这样做 abc 0 item 1 检索做 abc 0 item 它们之间有什么区别 哪一个更
  • Python 多线程在 IO 任务中没有任何好处?

    我正在尝试用 python 读取数千小时的 wav 文件并获取它们的持续时间 这本质上需要打开 wav 文件 获取帧数并考虑采样率 下面是代码 def wav duration file name wv wave open file nam
  • uitableviewcell 上的 tableview 中出现重复行

    我发现一些帖子与我的问题相似但不完全相同 在我的应用程序中 用户可以在多个 uitableviews 之间导航以深入了解所需的结果 当用户向前 然后向后 然后向前等时 可以注意到行正在被重绘 重写 并且文本变得越来越粗 我发现在一些帖子中这