[iPhone] UITableView セルの選択

UITableViewのテキストと画像のセルが選択された時のSegueを使った画面遷移をSwiftで簡単に説明します。
 
以下はいずれかのCell を選択するとそのCellの画像が画面に表示される例です
 

Swift 5.1
Xcode 11.3.1

 

UITableView と Segue

 
UITableViewでプロジェクトが出来上がった前提で始めます。こちらを参照してください。
 

TableViewを作るには、UITableView専用のTableViewControllerを使うこともできますが、汎用的なViewCo...
 

 

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

 
Main.storyboard を選択し、ライブラリーボタン からView Controllerを選択 、スクリーンに置きます。
 

 
この View Controller に対応するClass を新たに作成します。

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

「iOS」-> 「Swift File」 を選択


名前を SubViewController.swift (例) として
プロジェクト内に「create」する


 
swift ファイルはほとんど空の状態ですので、最低限のクラスとしての記述をします。
 
SubViewController.swift

 
新しく作った View Controller で、

  • バーにあるアイコン View Controller を選択
  • 「Show the Identity Inspector」タグ
  • 「Custom Class」の「Class」

先ほど作成したSubViewControllerが候補に入っています。

 
SubViewControllerを選択
 

 
これで、StoryBoard の Sub View Controller Scene と
SubViewController.swift が結び付けられました。

 

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

 
UITableView が設定されている View Controller Scene と
Sub View Controller Scene を segue で結びます。基本的なSegueについてはこちらを参考にしてください。
 

アプリでA画面からB画面に遷移したいケースは結構あります。コードで記述せざる得ない場合もありますが、StoryboardでSceneを作って...
 
設定の手順としては、

  1. View Controller Scene の上部バーにあるアイコンを右クリック
  2. manual の+をつかんでSub View Controller Sceneに持っていく
  3. Sub View Controller Scene から選択肢が出るので「Present Modally」を選択

 

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

 
この Segue の上にできたアイコンをクリックして
ライブラリエリアにある Attributes Inspector を選択
 
スクリーンショット 2016-01-20 14.26.05
 
identifierに「toSubViewController」と記述。このキーワードは画面遷移で使われます

 

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

 
Sub View Controller Scene のViewに Image View を置きます
 

 
 
以前に Swift で作ったUITable Viewを元に、セルが選択されSegue を使って遷移する部分がこうなります。
 
ViewController.swift

 
まとめて、ViewController.swiftはこのようになります。

ViewController.swift

 
遷移先で画像を表示できるように設定します。

SubViewController.swift

 
SubViewController を右クリックして New reference Outlet とSub View Controller Scene の imageView を紐付けします。
 
これで、ビルド実行
No.4のセルを選択するとアスペクト比を維持して画面横幅に合わせて画像が表示されます。

 
関連ページ:

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:


シェアする

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

フォローする