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

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

Objective-C
Xcode 8.2.1

 

UITableView 画面遷移

 
UITableViewの作成で基本的なTableViewができたところから始めます。
 
作成の流れは

  1. 画面遷移先の View Controller を新しく作成
  2. ストーリーボードでの Segue の設定
  3. セルが選択されたときの挙動をコーディングする

 

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

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

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

 
「iOS」「Cocoa Touch Class」から
 

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

 
SubViewController.h
SubViewController.m
ができました。
 

 
ストーリーボードで Sub View Controller を選択して
ライブラリーエリアの Identity Inspector から、
「Custom Class」 を SubViewController に選択し設定する
 

 

2. ストーリーボードでの Segue の設定

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

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

 

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

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

 

3. セルが選択されたときの設定をする

 
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 を結ぶ
 

 
ビルドして実行すると
 

 
No.3のセルを選択すると
 

 
アスペクト比を維持して画面いっぱいに画像が表示されました。
 


ページのトップへ戻る

シェアする

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

フォローする