gpt4 book ai didi

ios - iPad - DetailViewController 以编程方式

转载 作者:行者123 更新时间:2023-11-29 02:22:39 25 4
gpt4 key购买 nike

我正在使用 UISplitViewController 开发 iPad 应用程序。我还使用 DetailViewController 在其中显示一些来自 XML 的信息,但是这些信息没有显示在 DetailViewController 中,而是显示在 MaterViewController 中。我真的不知道如何解决它。你能帮忙吗?谢谢

有代码:

-(void) showDetailsForIndexPath:(NSIndexPath*)indexPath
{
[self.searchBar resignFirstResponder];
DetailViewController* vc = [self.storyboard instantiateViewControllerWithIdentifier:@"DetailsViewController"];

Slova* slova;

if(isFiltered)
{
slova = [filteredTableData objectAtIndex:indexPath.row];
}
else
{
slova = [self.slovoArray objectAtIndex:indexPath.row];
}

vc.slovoItem = slova;
[self.navigationController pushViewController:vc animated:true];
}

最佳答案

原因是您将新的 UIViewController 插入 self 的堆栈,这可能是 MasterViewController。相反,使用 Apple 的 Master-Detail Application 创建一个新项目,您将看到他们是如何做到的。

警告:他们使用 Storyboard,但很可能全部用代码完成。

在 Apple 的示例中,MasterViewControllerDetailViewController 从一开始就可见(横向)。

看看Apple的例子是如何为DetailViewController设置detailItem(slovoItem?):

#pragma mark - Segues
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([[segue identifier] isEqualToString:@"showDetail"]) {
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
NSDate *object = self.objects[indexPath.row];
DetailViewController *controller = (DetailViewController *)[[segue destinationViewController] topViewController];
[controller setDetailItem:object];
controller.navigationItem.leftBarButtonItem = self.splitViewController.displayModeButtonItem;
controller.navigationItem.leftItemsSupplementBackButton = YES;
}
}

因此,DetailViewController 已经可见,只需更新其 detailItem 属性即可。

因此,DetailViewController中存在如下代码:

#pragma mark - Managing the detail item
- (void)setDetailItem:(id)newDetailItem {
if (_detailItem != newDetailItem) {
_detailItem = newDetailItem;

// Update the view.
[self configureView];
}
}
- (void)configureView {
// Update the user interface for the detail item.
if (self.detailItem) {
self.detailDescriptionLabel.text = [self.detailItem description];
}
}

关于ios - iPad - DetailViewController 以编程方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27953947/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com