关于segue的Universal Master-Detail Storyboard帮助

时间:2012-04-04 18:54:01

标签: iphone objective-c ipad xcode4.2 storyboard

我正在尝试使用iPhone和iPad故事板制作我的第一个通用应用程序。

我有一个非常简单的应用程序,它会在点击时显示UITable上的列表和项目的详细信息。

它适用于iPhone,我创建了一个segue来推送详细视图,并使用此代码正常工作:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    [self performSegueWithIdentifier:@"detail" sender:nil];
}

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"detail"])
    {
        NSIndexPath *selectedIndex = [self.tableView indexPathForSelectedRow];
        // Get reference to the destination view controller
        self.detailViewController = [segue destinationViewController];

        // Pass any objects to the view controller here, like...
        self.detailViewController.detailDict = [myArray objectAtIndex:selectedIndex.row];
    }
}

我不知道这是否有所不同,但我已将iPad设置为仅适用于风景。 无论如何,我如何优化此代码以在iPad故事板上工作?

我已经为iPad尝试了不同的segue,但没有一个能够工作。我得到(gdb)

1 个答案:

答案 0 :(得分:0)

我最终得到了这段代码。它适用于iOS 5和6

#pragma mark - Orientations

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone)
        return UIInterfaceOrientationIsPortrait(interfaceOrientation);
    else
        return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}

并确保我检查了Target>上的按钮;摘要>支持的接口方向