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

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

Objective-C
Xcode 9.4

 

UITableView 画面遷移

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

iPhoneなどスマホでは画面のサイズと縦長という特徴のためリスト表示UIが多用されています。iOSではUITableViewを使って以下の...

遷移先の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

一人でアプリ開発の限界を感じたら

アプリ開発を始めたけどわからないところがあり、誰かに聞きたいけど周りにはそんな人はいない…あるいは、会社で働いていて日中そんなに時間をとれないなど、オンライン・スクールがいいと思います。


TECH ACADEMY
自宅にいながら1時間でプログラミング基礎を習得

こういうものではアプリ作れないと言う意見もありますが、それは結局本人のやる気があるかないかです。やる気があっても独学では突破しにくいところは教えてもらうのが一番早い。


侍エンジニア塾
侍エンジニア塾 無料体験レッスン



とても簡単なことなのに本やネットの画像だけでは分かりにくいことはあります。実際に質問してピンポイントで教えてもらうと、なんだそんなこと、と言うのがけっこうあります。


CodeCamp
~約20,000名の受講生と300社以上の導入実績~
現役エンジニアのオンライン家庭教師CodeCamp




直接(ネットで)誰か分かる人に聞いた方が早く解決して、上達も早いと思います。


Play Ground
本業と並行してやるには月額制なのがありがたいです。


無料で転職まで
これはiOSアプリ限定ではありませんが無料です
その代わり就職することを前提にしたスクールで「エンジニアになって職を得たい」のであれば手っ取り早いかもしれません

受講料無料:社会人転職コース


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


シェアする

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

フォローする