Sti*_*uck 53 objective-c ios xcode4.2
我正在使用XCode 4.2,并使用Storyboard构建了我的UI.我需要创建一个包含UITableView上方和下方内容的视图,我可以使用UIViewController实现这一点.UITableViewController不允许您在表格上方或下方添加内容.您可以使用表格页眉/页脚,但这不适用于我想要实现的目标.
我现在有一个嵌入了UITableView的UIViewController.我可以相应地调整UITableView的高度和宽度,这为我提供了我正在寻找的UI布局.
我可以在UITableView中自定义静态单元格,但是当我尝试构建时,我收到以下错误:
非法配置:静态表视图仅在嵌入UITableViewController实例时有效
我的问题是其他人如何解决这个问题?使用静态单元格创建一个tableview并在视觉上进行布局非常好,但显然由于某些我无法理解的原因而不允许这样做.由于我的视觉布局要求,我无法切换到UITableViewController.
任何帮助将不胜感激.
Ped*_*eno 134
假设您的应用程序针对iOS 6+,您可以在Xcode 4.5及更高版本中实现此目的.
在Storyboard中,只需在其主视图中创建一个带有View容器的UIViewController.然后将View容器连接到包含静态单元格的UITableViewController.
像这样:
您不需要一行代码.只需控制点击,拖动并选择嵌入即可.视图控制器包含是为您处理的.
你是对的.在storyboard中,你不能在viewController中嵌入带有静态单元格的tableView.解决它的一种方法(我自己没有尝试过,所以我不确定它是否有效)可以是你在静态单元格的故事板中创建一个UITableViewController实例.将一个UIView实例添加到viewController,然后以编程方式将UITableViewController的tableView加载到viewController的UIView中.
pmd的答案有效,但如果还需要向后兼容iOS 5,您可以使用View Containment API以编程方式进行嵌入.
在您的父UIViewController的viewDidLoad方法中:
- (void)viewDidLoad
{
[super viewDidLoad];
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];
MyTableViewController* vc =[storyboard instantiateViewControllerWithIdentifier:@"MyTableVC"];
[self addChildViewController:vc];
[self.view addSubview:vc.view];
// ensure embedded view is aligned to top
CGRect frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
vc.view.frame = frame;
[vc didMoveToParentViewController:self];
}
Run Code Online (Sandbox Code Playgroud)
不要忘记使用静态单元格为UITableViewController指定故事板ID.
归档时间: |
|
查看次数: |
20199 次 |
最近记录: |