LoginSignup
1
1

More than 5 years have passed since last update.

Xcodeに関するあれこれ

Last updated at Posted at 2018-02-13

自分メモです

基本操作画面

ワークスペース

スクリーンショット 2018-01-02 19.43.13.png

ナビゲーター領域

スクリーンショット 2018-01-02 19.42.56.png

.swift拡張子

通常、
- AppDelegate.swift
- ViewController.swift
の2種類あります。
1つの.swiftに複数のclassを書くことができますが、通常は1つだけ書くようです。

ViewController

スクリーンショット 2018-01-02 19.46.42.png

import

import UIKit
UIKitというフレームワークをインポートします。
デフォルトで用意されているようで、その機能を使ったり上書きしたりできます。

class

UIKitで用意されているclassを、新しく使えるよう再利用します。
class 新しいクラス名: 元のクラス名

swiftにおけるclassについてはこちらが大変勉強になります。
参考:Xcode Swiftのクラス

classのoverride

{}でclassの中に上書き=overrideします。

override func 新しいoverride名() {
super.元のoverride名()
}

viewDidLoad

  • viewDidLoadの中に書いたコードは、一番最初に実行される
  • label.textに文字列を代入すると実際のラベルの内容が変化する スクリーンショット 2018-01-02 20.56.37.png

ちなみに、!(エクスクラメーションマーク)がついている意味はnullがあっていいかどうか、みたいな感じです。
参考:【swift】変数によく付いている「!」や「?」(ビックリマーク・クエスチョンマーク)の説明

private var

  • varは変数
  • letが定数

その前に、privateとか色々ついているものがありますが、こちらがとてもわかりやすいです。
簡単に言うとprivateは、同じソース内の定義っぽい?
参考:Swift3 からのアクセスコントロール

ボタンを押すたびに画像を変える

  1. Assetsの中に画像をドラッグ&ドロップで入れておく
  2. 画像をXcodeで使えるように定義する   var 任意変数名 = UIImage(named:"Assetsの中の画像名")!
  3. 画像エリアを定義し、繋げる   ImageViewをcontrolを押しながらViewControllerまでつなげる
  4. ボタンを繋げ、アクションを記述する
import UIKit

class ViewController: UIViewController {

    //画像を定義 これが2.
    //var 任意変数名 = UIImage(named:"Assetsの中の画像名")!
    var imgtr = UIImage(named:"daishi")!
    var img1 = UIImage(named:"db")!
    var img2 = UIImage(named:"trmr")!
    var img3 = UIImage(named:"daishi")!

    //countNum という値を作り、0から始まる旨を記す
    var countNum:Int = 0

    //画像エリア定義 これが3.
    @IBOutlet weak var daishi: UIImageView!
    @IBOutlet weak var stamp1: UIImageView!


    override func viewDidLoad() {
        super.viewDidLoad()
        daishi.image = imgtr

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    //ボタンのアクション これが4.
    //ボタンを押すたびカウントが上がるようにし、そのカウントごとにif elseでイメージ表示
    //stamp1エリア定義.image = 画像の定義
    @IBAction func correct(_ sender: UIButton) {
        countNum += 1
        if countNum == 1 {
            stamp1.image = img1
        } else if countNum == 2 {
            stamp1.image = img2
        } else {
            stamp1.image = img3
        }
    }
}

絶対もっと美しい方法があるはず……

画像処理

参考:Swift画像処理の基礎知識 〜iOS標準の画像クラス・フレームワーク〜
参考:【iOS】【swift】たった数行で画像のフィルタ/エフェクトが実現できる超便利フレームワークCoreImage

参考文献

http://www.atmarkit.co.jp/ait/articles/1601/08/news059_3.html
http://stickpan.hatenablog.com/entry/2016/02/22/193940
https://prog-8.com/
http://iphone-tora.sakura.ne.jp/
https://qiita.com/hironytic/items/6cc68ca93b428ba9194e

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1