从没有故事板或笔尖的表视图推送到详细视图?

时间:2013-03-19 21:10:47

标签: xcode uitableview nib detailview

我正在构建我的第一个应用程序而不使用故事板或笔尖。我想从表视图推送到详细视图,并且似乎找不到任何显示如何在没有界面构建器的情况下执行此操作的资源。我的表视图控制器有一个图片,标题和副标题,我希望所有这些都传递给细节视图,但我希望细节视图也有文本描述。到目前为止,我只能构建我的表视图控制器。没有笔尖,我无法弄清楚如何做其余的事情。如何进入详细视图?如何格式化详细视图?有没有人有我可以看到的任何资源或示例代码?

2 个答案:

答案 0 :(得分:0)

创建UIViewController的自定义子类,例如DetailViewController。要格式化它,请在 - [DetailViewController viewDidLoad]中编写代码。

因此,在DetailViewController.m中,你可以写:

- (void)viewDidLoad {
    [super viewDidLoad];

    // Add a label with some text.
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 100, 40)];
    label.text = @"Some text";
    [self.view addSubview:label];
}

注意:在代码中分隔上面的子视图可能具有挑战性。 Interface Builder对此有所帮助。一个想法是使用Interface Builder将所有内容分开,然后从Interface Builder获取坐标。您也可以使用nib2objc。

然后,在表视图控制器的实现(.m)文件的-tableView:didSelectRowAtIndexPath:中,您可以写:

DetailViewController *detailViewController = [[DetailViewController alloc] initWithNibName:nil bundle:nil];
[self.navigationController pushViewController:detailViewController animated:YES];

答案 1 :(得分:0)

如果未实现navigationController,self.navigationController将无法工作。我发现了newView方法的新方法。

DetailViewController *detailVC = [[DetailViewController alloc]initWithNibName:nil bundle:nil];
detailVC.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentViewController:detailVC animated:YES completion:nil];