Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 想要创建一个很酷的静态UI,但是:;静态表视图仅有效…“;_Ios_Uitableview_Static_Storyboard_Cell - Fatal编程技术网

Ios 想要创建一个很酷的静态UI,但是:;静态表视图仅有效…“;

Ios 想要创建一个很酷的静态UI,但是:;静态表视图仅有效…“;,ios,uitableview,static,storyboard,cell,Ios,Uitableview,Static,Storyboard,Cell,我正在创建一个视图,如: 为此,我尝试使用一个故事板,在其中我添加了两个表视图(都是“静态单元格”),然后直接从故事板手动添加单元格内容 在我的故事板中,它看起来很棒,但当我构建时,我得到: en.lproj/MainStoryboard.storyboard:错误:非法配置: 静态表视图仅在嵌入到中时有效 UITableViewController实例 如何修复此错误?将UITableViewController添加到视图中。它应该持有一个UITableView。将其定义为静态表视图,并将其

我正在创建一个视图,如:

为此,我尝试使用一个故事板,在其中我添加了两个表视图(都是“静态单元格”),然后直接从故事板手动添加单元格内容

在我的故事板中,它看起来很棒,但当我构建时,我得到:

en.lproj/MainStoryboard.storyboard:错误:非法配置: 静态表视图仅在嵌入到中时有效 UITableViewController实例


如何修复此错误?

将UITableViewController添加到视图中。它应该持有一个UITableView。将其定义为静态表视图,并将其分组。添加两个部分。一个有一行,另一个有两行。再次将标签、按钮和滑块添加到行中


我不知道您为什么希望在这里有两个UITableView?

我在更改现有自定义视图控制器时也遇到了问题,使其扩展了UITableViewController。XCode不够智能,不会意识到它已经满足了自己的要求


您可以通过编辑故事板源代码并更改
来解决此问题。您可以将其设置为动态,然后切换滚动:

[yourTableName setScrollEnabled:NO];

要在Xcode 6中实现这一点,唯一的方法就是在容器视图中嵌入TableViewController,如果必须的话。看起来你不能像juanignaciosl在Xcode 6中描述的那样通过黑客攻击

因此,步骤如下:

  • 创建一个表视图控制器
  • 将此控制器中的表视图替换为“有问题”视图控制器中的表及其所有静态单元格等
  • 如果您的表视图是更复杂的ui的一部分,并且它不是视图控制器的主视图,则继续如下操作

  • 在“有问题的”视图控制器中创建一个containerView,位置与现在移动的静态表视图相同。这也将自动创建另一个viewcontroller和一个顺序删除这些
  • 从容器视图中单击鼠标左键拖动或按住ctrl键拖动到包含静态表的tableviewcontroller,然后选择“嵌入”

  • 这不像以前那么好,因为您的tableview被剥离到interface builder中的一个单独的视图控制器中,这可能会影响您现有的代码和输出。但是对于大型静态表来说,它是动态生成所有内容的更好选择。

    好吧,这似乎是获得这种“风格”而不必创建自定义内容的唯一方法,不是吗?可能吧。我不知道苹果是如何在故事板中实现静态表功能的,但是当你试图在UITableViewController外部定义它时,你会收到一条错误消息,这肯定表明他们有支持这种行为的代码。无论如何,我建议使用控制器来处理UITableView,因为这样可以免费获得很多东西。太棒了!!我只是照你说的做了,效果很好。补充说明:将视图控制器的类更改为UITableViewController将不起作用(与自定义类相同)。只有将新的UIViewController拖动到story才能工作。图像已消失。这是没有用的。为什么不通过将图像直接上传到stackoverflow来整合它们呢?这个问题有一个很好的答案:这就是我最终所做的……有点笨拙,但它解决了我的问题。谢谢不要忘记更改结束标记
    XML,这样就不会出现不匹配!我用Xcode 5.1尝试过这个,但它不再有效。我遇到以下错误:“无法打开文档“MainStoriboard.storyboard”。无法验证文档内容。现在将其更改为动态,这似乎是唯一的方法。对于Xcode 6,这似乎是不好的做法,您需要先删除故事板上的
    视图
    ,否则,你不能用Interface Builder打开情节串连板。仍然适用于xcode 9…如果你只是意外地在情节串连板上放置了一个普通的控制器,并做了一些添加,然后意识到你已经放置了一个表视图控制器,因此不必麻烦重新开始