您好,我正在开发一个标准的主从应用程序。
当您在 xcode 中创建主从应用程序时(我指的是它在创建新项目时建议的应用程序),xcode 会创建一个导航 Controller 、一个 TableView 和一个详细 View ,这是您单击 uitableview 时的默认行为单元格是继续详细 View 。 相反,我想继续另一个 TableView (当然我已经在 Storyboard 中创建了)。我的目的是在第一个表格 View 上显示根据我点击的内容(点击的单元格)筛选的值列表。
所以我尝试从图形 Storyboard 中完成此操作,我尝试按住 Ctrl 键并将箭头从第一个标准表格 View 拖动到第二个新表格 View 。选择手动 segue = 显示。 我什至删除了将第一个标准 TableView 链接到详细 View (由 xcode 提出的那个)的“原始”箭头。
但是当我点击模拟器中的表格 View 单元格时,点击的单元格变成灰色并且没有任何反应。
当我点击第一个表格 View 单元格时,如何才能显示第二个过滤表格 View ? 我应该怎么做才能做到这一点?
附言。我是 iOS 编程、objective-c 和 cocoa touch 框架的初学者。我使用 xcode 标记是因为我想知道在 Storyboard中可以做什么(以图形方式)来完成我需要做的事情。
最佳答案
如果您想在单击“主”表格 View 单元格时显示“详细”表格 View ,您可以使用 ctrl-drag 来实现。从主视图的原型(prototype)单元格(选择它)开始到第二个 TableView ,在 Storyboard 中,然后选择 show detail
选项来创建一个 segue。
点击 segue 并在属性检查器中检查它的名称,它应该是 showDetail ,因为在 MasterViewController.swift 文件中你应该查看这个函数,在 prepareForSegue 中你可以设置过滤结果: 另外:setDetailItem:object 应该改成另一个函数,因为你创建的tableView 场景不会有detailItem 属性,你可以在h 文件中添加一个属性并从prepareForSegue 中设置它
#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];
[[segue destinationViewController] setDetailItem:object];
}
}
关于ios - 当我单击第一个表格 View 的表格 View 单元格时进入第二个表格 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31478289/