为什么UItableViewCell viewWithTag返回nil?

mal*_*ena 10 uitableview viewwithtag

我正在使用IOX8和Xcode 6.我在故事板中创建了一个带有自定义类型单元格的表格,并在其中放置了一个标签.我在IB中输入了标签的标签号,这样我就可以在代码中检索对标签的引用.但是当我尝试在我的"cellForRowAtIndexPath"中获得对标签的引用时,使用viewWithTag我得到了标签的NIL:

这是在cellForRowAtIndexPath中重要的两行代码:

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"PlayerCell"];


UILabel *nameLabel = (UILabel *)[cell viewWithTag:1];
Run Code Online (Sandbox Code Playgroud)

"cell viewWithTag:1"行返回NIL,我不明白为什么.

我也试过"cell.contentView withWithTag:1",但也没有用.

这是IOS 8或Xcode 6中的错误吗?

谢谢

-Malena

Kar*_*ara 11

取消选中故事板中的"大小类"选项,然后清理并构建应用程序.它现在应该工作.

  • 取消选中clean&build并重新检​​查Size classes选项 (3认同)
  • 如果我需要启用**Size Classes**,是否有解决方法? (2认同)

小智 5

我在使用IOS8和Xcode 6.1时遇到了同样的问题.我发现如果我启用了Size Classes,viewWithTag总是返回nil.我认为这可能是Xcode 6.x的一个错误.只需禁用Size Classes,一切顺利.


小智 0

尝试调试视图层次结构。

  • 在调试模式下运行您的应用程序;
  • 转到 UITableViewController 所在的视图;
  • 在 Xcode 中点击:调试->查看调试->捕获视图层次结构;
  • 检查天气标签是否已正确分配。