一般来说,我是 iOS 开发和 Objective-C 的新手。目前我正在开发一个包含 3 个选项卡的应用程序。正如您从下面的屏幕截图中看到的那样,第一个选项卡包含一个带有 2 个单元格的表格视图。
因此,在用户点击其中一个单元格后,会出现另一个带有按钮的详细视图,稍后将使用将在此处列出的产品图片进行更改。
我的问题是:如何将按钮与另一个视图连接起来,该视图将包含带有一些详细信息的表格视图?
一般来说,我是 iOS 开发和 Objective-C 的新手。目前我正在开发一个包含 3 个选项卡的应用程序。正如您从下面的屏幕截图中看到的那样,第一个选项卡包含一个带有 2 个单元格的表格视图。
因此,在用户点击其中一个单元格后,会出现另一个带有按钮的详细视图,稍后将使用将在此处列出的产品图片进行更改。
我的问题是:如何将按钮与另一个视图连接起来,该视图将包含带有一些详细信息的表格视图?
您需要的是一个网格视图来显示您的产品。使用GMGridView。这个棒极了...
在情节提要中,按住 control 键并从单元格拖动到要连接的视图控制器。然后将 segue 样式设置为“push”。设置新 segue 的名称。然后在代码中设置-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
方法中的产品数据。
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
// GET THE SELECTED ROW
NSInteger selectedRow = [[self.tableView indexPathForCell: sender] row];
// PASS THE CORRESPONDING DATA TO THE NEXT VIEW CONTROLLER
if (segue.identifier isEqualToString: @"MySegue") {
MyViewController* myvc = (MyViewController*)segue.destinationViewController;
MyProductData* selectedData = [_productData objectAtIndex: selectedRow];
myvc.productData = selectedData;
}
}
因此,一旦用户点击产品图片按钮,您想显示有关该项目的更多详细信息吗?
在您的图像网格视图控制器中,只需创建一个方法:
- (IBAction)imageButtonAction:(id)sender {
// do something like check the [sender tag]
// to determine which button sent the message
// then instantiate the detail view controller and push
}
然后将此方法连接到 Interface Builder 中的 Touch Up Inside 操作。您可以给每个按钮一个标签,并将它们的所有 Touch Up Inside 操作路由到同一个方法,而不是为每个按钮添加大量的操作方法。