私は iOS 開発と Objective-C 全般に不慣れです。現在、3 つのタブを含むアプリに取り組んでいます。下のスクリーンショットからわかるように、最初のタブには 2 つのセルを持つテーブル ビューが含まれています。
そのため、ユーザーがセルの 1 つをタップすると、別の詳細ビューがボタンとともに表示され、後でそこにリストされる製品の写真に変更されます。
私の質問は次のとおりです。詳細を含むテーブルビューを含む別のビューにボタンを接続するにはどうすればよいですか?
私は iOS 開発と Objective-C 全般に不慣れです。現在、3 つのタブを含むアプリに取り組んでいます。下のスクリーンショットからわかるように、最初のタブには 2 つのセルを持つテーブル ビューが含まれています。
そのため、ユーザーがセルの 1 つをタップすると、別の詳細ビューがボタンとともに表示され、後でそこにリストされる製品の写真に変更されます。
私の質問は次のとおりです。詳細を含むテーブルビューを含む別のビューにボタンを接続するにはどうすればよいですか?
So once the user taps a product image button, you want to display more detail about that item?
In your image grid view controller, just create a method:
- (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
}
then connect this method to the Touch Up Inside action in Interface Builder. Rather than a proliferation of action methods for each button, you could give each button a tag and route all of their Touch Up Inside actions to the same method.
ストーリーボードで、コントロール キーを押したまま、セルから接続先のビュー コントローラーまでドラッグします。次に、セグエ スタイルを「プッシュ」に設定します。新しいセグエの名前を設定します。次に、コードで-(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;
}
}
必要なのは、製品を表示するためのグリッド ビューです。GMGridViewを使用します。すばらしい...