Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.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
Objective c 将UITableView与TableViewController关联_Objective C_Xcode4_Uitableview - Fatal编程技术网

Objective c 将UITableView与TableViewController关联

Objective c 将UITableView与TableViewController关联,objective-c,xcode4,uitableview,Objective C,Xcode4,Uitableview,有谁能描述一下,TableViewController的xib文件根目录下有一个,而uitableview是一个子视图,这是如何实现的? 我相信TVController以某种方式假设UITableView将填充整个区域。 为什么呢? 我确实需要构建一种侧面和底部选项卡式界面,其中UITableView是其主要区域。按tabs键可更改fetchedresultscontroller等的谓词。 我之所以要这样做,是因为数据模型中数据类别的广度和深度。我需要将菜单结构扁平化很多…另一方面,通过一个桌子

有谁能描述一下,TableViewController的xib文件根目录下有一个,而uitableview是一个子视图,这是如何实现的? 我相信TVController以某种方式假设UITableView将填充整个区域。 为什么呢? 我确实需要构建一种侧面和底部选项卡式界面,其中UITableView是其主要区域。按tabs键可更改fetchedresultscontroller等的谓词。 我之所以要这样做,是因为数据模型中数据类别的广度和深度。我需要将菜单结构扁平化很多…另一方面,通过一个桌子和导航栏控制器结构,用户体验将类似于沉入更深的洞穴! 我的想法在其他范例中得到了验证……在iOS中,它看起来几乎像是苹果的方式或高速公路。我对苹果很满意,当然没有抱怨。 但我真的很想创造这个。 我尝试添加一个包含xib的新tableviewcontroller,然后删除IB中的UITableView,并将其替换为UIView和UITableView作为子视图,将委托(我相信)连接到文件所有者。 我创建了一个IV tableView,当我想要引用它时,我再次使用IB将它连接到IB中

试着运行它,它会抱怨。。。 [UITableViewController loadView]加载了“TabbedTableController”nib,但未获取UITableView 我真的不知道这里有什么问题。 看来我再也没有办法把UITableView连接起来了

任何帮助都太好了。我会在绝望中寄给你一张圣诞卡:^) 还有…为什么会这样?UtableView全屏的要求有多严格? 如果可以的话,请告诉我。我读过的文件不想读

问候
Keith

UITableViewController确实假定根视图(即控制器的
视图
属性)将是UITableView,因此表视图将填充屏幕。当您需要将UITableView与其他顶级视图相结合的视图时,您需要做更多的工作,但这并不难:

视图控制器不会子类化UITableView。相反,请执行以下操作:

@interface MyViewController : UIViewController 
  <UITableViewDelegate, UITableViewDataSource>
@property (nonatomic, weak) IBOutlet UITableView* tableView;
@接口MyViewController:UIViewController
@属性(非原子,弱)IBUITableView*tableView;
在Interface Builder中,插入一个
UITableView
和您需要的任何其他控件。表视图可以是视图层次结构中的任意大小和位置。同样在Interface Builder中,按住ctrl键从表格视图拖动到VC并设置
委托
数据源
出口,按住ctrl键从VC拖动到表格视图以设置
表格视图
出口

视图控制器实现应该是典型的表视图控制器实现:
cellforrowatinexpath
,等等


UITableViewController
差不多就是将上述所有工作打包到一个单元中。

ah当然谢谢。我仍然不明白为什么会有这样的限制DIT:是的,我现在反省一下,明白了为什么会有这样的限制。子类化。UITableViewController是ViewController子类,但符合所需的委托和数据源。那么,为什么有人想要改变为这样一个特定的原因而构建的东西呢。去做你自己的。你能告诉我,由于我对事物如何运作的认识缓慢,我必须成为一名经过改革的.NET程序员吗?再次感谢你,艾斯克