textviewで表示のみ(編集させずキーボードを表示させない
Attributes InspectorのBehaviorのEditableを非活性。Selectableも非活性にすれば文字選択もオフにできる
ボタンのアクションを共通のものを使いたい
ボタンA、ボタンB、ボタンCとあった時にどちらも下記の関数を使いたいとする
@IBAction func mapButton(_ sender: UIButton) {
その時は各ボタンを選択した状態で「Connections Inspector」のtouch up inside横の十字マークから上記コードに伸ばすことでどのボタンを押しても上記のメソッドを実行することができる
どのボタンから来たのか判断したい
ボタンの場合で言えばボタンにはtagのパラメーターがあるので「Attributes Inspector」のView->tagで数値を設定できる。
受け取りは下記にて取得できる
print("sender.tag = \(sender.tag)")
(この時にmapButtonメソッドの引数欄がsender: Anyだとエラーになる。Anyにはtagがないから?なのでsender: UIButtonにする)
画面遷移
segueを使わない方法は下記を参照した
画像追加
方法1:Assets xcassetsへの画像追加
画像をここへドラッグ&ドロップする
1x,2x(Retina)3x(iPad??)という画像がある
各倍率の画像を用意するのが面倒なら
Scaleを「Individual scales」を「single scales」にすればおk
(全画像やるのか・・・)
ソースでは
aaa¥bbb.pngというフォルダに入れた構成であっても
UIImage(named:"aaa/bbb.png")
ではなく
UIImage(named:"bbb.png")
でアクセスする
方法2:Assets xcassetsへ追加しない
Assets xcassetsへ追加せずファイル一覧のところへドラッグ&ドロップ
この場合各倍率の画像がいらない
ただ、リソース管理をするためのassets xcassetsを使用しないのでなんともカッコ悪い
この場合
aaa¥bbb.pngというフォルダに入れた構成だとフォルダも指定する必要がある(Playgroundも同様)
UIImage(named:"aaa/bbb.png")
ソフィーのアトリエもう少しでクリア