###前提・実現したいこと
作りたいアプリ:年配者にiPhoneの操作方法を動画、画像、テキストで教えるアプリ
作りたい画面:
第1画面 TableView01
第2画面 TableView02
第3画面 WebView
###発生している問題・エラーメッセージ
**テーブルビューの行を上下2段のラベルにできない。
**
ラベルが1個の方式のテーブルビューTableView02はできて、TableView01よりTableView02へ遷移して表示できたが、TableView02を2段にするべく、TableView02Cellファイルを追加し、
cell.label01.text = "1ぎょうめ"
cell.label02.text = "2ぎょうめ"
というコードを追加したところ、添付スクリーンショットのごとく、もとのラベルと追加ラベルの3つが表示されてしまいます。
TableView01の項目より遷移するTableView02の項目なので、1個のラベルでも100個に近い数になります。
texts01からtexts08の定数を上段のラベル(cell.label01.text)に挿入し、subtexts00からsubtexts08の定数を下段のラベル(cell.label02.text)に挿入し、最初からあったもとのラベルは消す方法を教えてください。
なお、上段のラベルの書式はもとのラベルと同様とし、下段ラベルはより小文字で複数行表示にしたい。(ソースコードに記入してあるテキストは仮のもので、もっと長くなります)
###該当のソースコード
TableView01のコード
ViewController.swift
// Lesson03m
//
// Created by Tomiji Suzuki on 2016/03/23.
// Copyright © 2016年 Tomiji Suzuki. All rights reserved.
//
import UIKit
import iAd
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate{
@IBOutlet var tableView01: UITableView! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. // Prepare interstitial Ad UIViewController.prepareInterstitialAds() // Show iAd self.canDisplayBannerAds = true //????? 下記のコードを入れるとタブのトミ爺頁がエラーになる。 ????? //tableView01.delegate = self //tableView01.dataSource = self
}
// セルに表示するテキスト
let texts = ["動画:動画の見方", "動画:電話", "動画:カレンダー", "動画:カメラ・ビデオ", "動画:テキストの見方", "テキスト:テキスト見方", "テキスト:初心者の頁", "テキスト:用語の説明", "テキスト:応援者の頁"]
//テーブルビューのタイトルを表示 func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { let label = UILabel(frame: CGRect(x:0, y:0, width: tableView.bounds.width, height: 50)) // 文字位置 label.textAlignment = NSTextAlignment.Center // 文字サイズ label.font = UIFont.italicSystemFontOfSize(17) // 背景色 label.backgroundColor = UIColor.redColor() // 文字色 label.textColor = UIColor.whiteColor() // 表示される文字 label.text = "ご希望の項目を触ってください" return label }
// セルの行数
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return texts.count
}
// セルの内容を変更
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell: UITableViewCell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "cell01")
cell.textLabel?.text = texts[indexPath.row] // 文字色変更 cell.textLabel?.textColor = UIColor.blackColor() // 文字サイズ変更 //cell.textLabel?.font = UIFont.systemFontOfSize(30) // 文字を太字に変更 cell.textLabel?.font = UIFont.boldSystemFontOfSize(25) // cellの背景を透過 cell.backgroundColor = UIColor.whiteColor() // cell内のcontentViewの背景を透過 //cell.contentView.backgroundColor = UIColor.whiteColor() // チェックマークをつける //cell.accessoryType = UITableViewCellAccessoryType.Checkmark return cell
}
//テーブルビューのセルがタップされた処理
var selectedIndexPath: NSIndexPath!
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { //セルのインデックスパス番号を出力
print("タップされたセルのインデックスパス:(indexPath.row)")
selectedIndexPath = indexPath
//cellが選択された場合
//TableView02へ遷移するためにsegueを呼び出す
performSegueWithIdentifier("toTableView02", sender: self) } override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) { if (segue.identifier == "toTableView02") { let subVC = (segue.destinationViewController as? TableView02)! subVC.selectedIndexPathInViewController = selectedIndexPath // SubViewController のselectedImgに選択された画像を設定する //subVC.selectedImg = selectedImage }
}
}
###試したこと
課題に対してアプローチしたことを記載してください
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/22 14:45
2016/05/23 06:26