[iPhone] UITableView セルを選択して画面遷移 (Objective-C)

UITableView でリスト表示ができるようになりました。さらにそのリストのセルを選択して画面遷移をさせる方法を試して見たいと思います。尚、Swiftでは こちら の方法です
 

Objective-C
Xcode 9.4

 

UITableView 画面遷移

 
基本的なTableViewができたところから始めます。

https://i-app-tec.com/objective-c/tableview-obc.html

遷移先のViewControllerを作って、Cell選択の機能を追加していきます。
 

 

画面遷移先の View Controller を新しく作成

 
Main.storyboard を選択して、右端下にあるライブラリーエリアの Object Library から
View Controller を選択してスクリーンへ置きますます。
 

 
メニューの「File」「New」「File…」 から
 

 
「iOS」「Cocoa Touch Class」から
 

 
Class名を決め(ここではSubViewController)
UIViewController を選択してプロジェクト内に保存
 

 
SubViewController.h
SubViewController.m
が追加されました。
 

 
storyboardで Sub View Controller を選択して
ライブラリーエリアの Identity Inspector から、
「Custom Class」 を SubViewController として選択し設定
 

 

ストーリーボードで Segue を設定

 
View Controller と Sub View Controller を segue で結びます

  1. View Controller の上のバーにあるアイコンを右クリック
  2. manual の+をつかんで 遷移先のView Controller に持っていく
  3. 選択肢がでるので Present Modaly を選択する

 

 
成功すれば2つのViewがつながりSegue、矢印が出きます
 

 
この矢印の上にできたアイコンを選択するとSegueの設定ができるようになるので
ライブラリエリアにある Attributes Inspector を選択して、例えば
toSubViewControllerと記述、このキーワードはこの後で画面遷移で使われます。
 
スクリーンショット 2016-01-20 14.26.05
 

 

セルが選択されて遷移する画面を作成

 
Sub View Controller に Image View を設定
 

 
UITableViewができている状態から始めますので、既に基本の設定がされています。そこに画面遷移のコードを追加します。
 
ViewController.h


 
ViewController.m にセルが選択され、それにより画面遷移する内容を記述
#import “SubViewController.h”
を追加
 
Cellが選択された時の挙動は以下のように設定します
indexPath.row でCellの番号が分かります


 
ViewController.m


 
SubViewController.h に選択された画像名をプロパティで設定します。
 
SubViewController.h


 
SubViewController.m で受け取った画像名を表示するコードを記述
 
SubViewController.m


 
Sub View Controller を右クリックして New reference Outlet とSub View Controller Scene の imageView を結ぶ
 

 
ビルドして実行します。
 

 
References:
UITableView – UIKit | Apple Developer Documentation
UITableViewCell – UIKit | Apple Developer Documentation


誤字脱字、意味不明などのご意見は 謙: e-mail まで
ブックマークしておくと便利です このエントリーをはてなブックマークに追加
Twitter:


シェアする

  • このエントリーをはてなブックマークに追加

フォローする