Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.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 在单个视图中实现2XIB_Objective C_Ipad - Fatal编程技术网

Objective c 在单个视图中实现2XIB

Objective c 在单个视图中实现2XIB,objective-c,ipad,Objective C,Ipad,在我的iPad应用程序中,我想在一个视图中实现2个xib文件。它应该看起来像一个分割视图,但我不想使用分割视图。如何做到这一点 NSArray *array = [[NSBundle mainBundle] loadNibNamed:@"FooView" owner:self options:nil]; [self.view addSubview:[array objectAtIndex:0]]; 在大多数

在我的iPad应用程序中,我想在一个视图中实现2个xib文件。它应该看起来像一个分割视图,但我不想使用分割视图。如何做到这一点

NSArray *array = [[NSBundle mainBundle] loadNibNamed:@"FooView" 
                                           owner:self options:nil];
[self.view addSubview:[array objectAtIndex:0]];
在大多数情况下,你可能只想要第一个?XIB中的顶级对象,但在某些情况下,您可能希望引用XIB中的不同内容

这方面的经典示例是加载UITableViewCell的方式。这里的微小变化是设置和使用出口,并将XIB中的第一个项目直接装入出口

[[[NSBundle mainBundle] loadNibNamed:@"FubarView" owner:self options: nil] objectAtIndex:0];
[self.view addSubview:self.fubarViewOutlet];
无论选择何种方式,在将其添加到父视图后,只需将框架设置为指定大小和位置。使用outlet或将数组中的项强制转换为适当的类,并像其他视图一样使用它

编辑:根据你的评论请求,我会这样写

- (void)tableView:(UITableView *)tableViewTemp didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
  if(indexPath.row==0){ 
    NSArray *array = [[NSBundle mainBundle] loadNibNamed:@"CNBViewController" 
                                       owner:self options:nil];
    self.selectedRowView = [array objectAtIndex:0];  // assumes a class variable selectedRowView
    [self.view selectedRowView];
    // newView.frame = CGRectMake(........);
  }
}

我正在尝试此代码,但我不知道如何在我的应用程序中设置此代码。你能帮帮我吗?我的意思是,在ipad屏幕的前半部分,我希望table view及其didselectObjectAtIndex:0在下半部分显示详细视图。为此,我建议创建带有XIB的UIViewController,创建UIViewController时只需勾选该框。然后进入XIB,创建可能覆盖半个屏幕的表格。从此处添加UITableView委托/数据源。在didSelectRowAtIndexPath中:插入加载第二个XIB的代码。执行addSubview:将新加载的视图从第二个XIB添加到主XIB中。请确保设置新XIB的框架,因为大小可能是0,0,所以您将无法看到它。这是我使用的代码,但它完全将我带到另一个页面-voidtableView:UITableView*tableViewTemp DidSelectRowatineXpath:NSIndexPath*indexPath{ifindexPath.row==0{self.title=@Create New宣传册;CNBViewController*xib1=[[CNBViewController alloc]initWithNibName:@CNBViewController bundle:nil];//[self.view removeFromSuperview];[self.naviationcontroller pushViewController:xib1 animated:YES];[xib1 release];}您能帮助我在同一页上加载另一个xib的代码吗。