gpt4 book ai didi

ios - 在不使用 uitableviewcontroller 的情况下子类化 uitableview 单元

转载 作者:行者123 更新时间:2023-11-29 10:32:37 24 4
gpt4 key购买 nike

我正在尝试子类化 uitableviewcell。

起初我使用 uitableviewcontroller 没问题,一切正常

嗯。问题是我无法在 uitableview 的顶部插入静态 View 。所以我

开始使用uiview + uitableview。我将委托(delegate)和数据源设置为我的 uitable

但是当我尝试编译我的解决方案时,我得到了这个错误:

2015-03-04 15:00:53.087 News[7410:750801] *** Assertion failure in -[SubcategoryTableViewCell _setHostsLayoutEngine:], /SourceCache/UIKit/UIKit-3318.16.14/NSLayoutConstraint_UIKitAdditions.m:2760
2015-03-04 15:00:58.132 News[7410:750801] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Must translate autoresizing mask into constraints to have _setHostsLayoutEngine:YES.'
*** First throw call stack:
(0x182b59e48 0x19324c0e4 0x182b59d08 0x1839dd554 0x1873d6088 0x1873df4f0 0x1876f3c60 0x18771475c 0x1877eccc8 0x1877ecc68 0x1877ec984 0x1875c96f8 0x187832244 0x1877eccc8 0x1877ecc68 0x1877ec984 0x1875c96f8 0x1876f3c44 0x18771475c 0x1877eccc8 0x1877ec984 0x187714264 0x1877eccc8 0x1877ecc68 0x1877ec984 0x1877136ec 0x187446cac 0x1000292e8 0x187421854 0x1873e369c 0x1873e58f0 0x1873e582c 0x1873e5178 0x10003ad30 0x100344e30 0x100344df0 0x10034975c 0x182b116a0 0x182b0f748 0x182a3d1f4 0x18bbd35a4 0x18736e784 0x100029bf4 0x1938baa08)
libc++abi.dylib: terminating with uncaught exception of type NSException

关于这部分代码:

- (SubcategoryTableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *reuseIdentifier = @"PlaceholderCell2";
SubcategoryTableViewCell * sctvCell = [self.tableView dequeueReusableCellWithIdentifier:reuseIdentifier];
if (sctvCell == nil) {
sctvCell= [[SubcategoryTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reuseIdentifier];
}

在 Storyboard 中,我将 uitableviewcell 设置为我的单元格客户类。并且有效

与 uitableview Controller 完美结合。

这是我的类和子类代码:

weird behavior on dynamic uitableviewcell height

最佳答案

well. the problem was i couldnt insert static view top of uitableview.

有几种解决方法。

  1. 将静态 View 放在窗口 ([self.tableView.window addSubview:staticView])。在 TableView Controller 消失之前,您需要管理静态 View 的删除。

  2. 有一个包含静态 View 的外部 View Controller 。外部 View Controller 在容器 View 中包含您的 TableView Controller 。


回到您当前的问题。当您将 TableView Controller 换成常规 View Controller 时,您是否重建了 Storyboard?简单地交换类型会导致错误。

关于ios - 在不使用 uitableviewcontroller 的情况下子类化 uitableview 单元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28854198/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com