読者です 読者をやめる 読者になる 読者になる

使って創ってApp

ソフトウェアを使ったり作ったりするブログです

UIColorのRGBは0~255ではなく、0~1

UIColorのRGB値指定をたまに間違えるので備忘録。0~255ではなく、0~1で指定する。

開発環境

UIColorでRGB値を指定する

例えば R:40 G:141 B:185 は以下のように指定する。

let myColor = UIColor(red: 40 / 255, green: 141 / 255, blue: 185 / 255, alpha: 1.0)

各値を255で割ってあげるとRGB値を指定できる。

単純な色を指定する場合

ちなみに単純な色はもっと簡単に指定できる。

let redColor = UIColor.redColor() let cyanColor = UIColor.cyanColor()

iOSアプリ開発でUITableViewCellのCustomCellを作成する

iOSアプリ開発で、UITableViewCell の CustomCell を作成する方法を紹介します。UITableViewCell のサブクラスと xibファイルを作って、UITableView で使います。

開発環境

完成予定図

f:id:hitxutokun:20160112221542p:plain

上図の UITableViewCell のサブクラスとxibファイルを UITableView に表示します。

f:id:hitxutokun:20160112225057p:plain

CustomCell を10個表示しました。

UITableView で CustomCellを使う

  1. UITableViewCell のサブクラスと、xibファイルを作成する

    新規 Cocoa Touch Class ファイルを作成します。

    ファイルの設定
    • Subclass of: UITableViewCell
    • Also create XIB file にチェックをつける

    f:id:hitxutokun:20160112220449p:plain

  2. xibファイルを編集

    見た目を作ります。

    f:id:hitxutokun:20160112221542p:plain

    Cell に identifer を設定します。右側の Attributes inspector 画面で設定します。CustomCell にしました。

    f:id:hitxutokun:20160112221841p:plain

    Cell と 先ほど作った UITableViewCell のサブクラスは自動的に関連付けられているので、UIView Object に Outlet を接続することができます。今回はやりませんが。

  3. TableViewControllerを設定

    tableView に先ほど編集したxibファイルを関連付けます。viewDidLoad メソッド内に以下のコードを書きます。

    let nib = UINib(nibName: "CustomCell", bundle: NSBundle.mainBundle())
    self.tableView.registerNib(nib, forCellReuseIdentifier: "CustomCell")

    あとは普段 UITableViewController を使うように Cell を表示させます。

    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
      let cell = tableView.dequeueReusableCellWithIdentifier("CustomCell", forIndexPath: indexPath) as! CustomCell
      return cell
    }

    Cell を呼び出す際、as! CustomCell と書いて CustomCell クラスにダウンキャストさせています。

    これで完成です!

    f:id:hitxutokun:20160112225057p:plain

Swift2.1でDictionary型変数をforループで使う

Swift2.1でDictionary型変数をforループで使うメモです。

開発環境

Dictionary型変数をforループで使う

名前と年齢を記録するDictionary型の変数を準備します。

var people = [String: Int]()
people["Takeda"] = 23
people["Uesugi"] = 31
people["Oda"] = 33
キーと値を列挙
for (name, age) in people {
  print("name: \(name) age:\(age)")
}
キーのみ列挙
for name in people.keys {
  print("name: \(name)")
}
値のみ列挙
for age in people.values {
  print("age: \(age)")
}

iOSアプリ開発で、アプリ全体でstatusBarのスタイルを変更する

iOSアプリ開発で、アプリ全体でstatusBar のスタイルを変更する方法のメモです。

開発環境

アプリ全体でstatusBar のスタイルを変更する

AppDelegate.swift のアプリケーションが起動するときに呼び出される関数で、statusBar のスタイルを指定します。

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
  UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.LightContent
}

これでアプリ全体で時間などの表示が、白い文字や白いアイコンになります。

f:id:hitxutokun:20160110235020p:plain

Macの画面をgifアニメで録画するLICEcap

Macの画面をgifアニメで録画するために使用している LICEcap というアプリを紹介します。

LICEcapって何ができるの?

下のようなgifアニメを簡単に録画することができます。

f:id:hitxutokun:20160106224502g:plain

起動画面

f:id:hitxutokun:20160110000856p:plain

ウインドウ枠内の透明な部分が録画されます。

録画開始

録画を開始するには、起動画面右下の Record ボタンをクリックします。すると、録画の設定画面が表示されます。

録画設定画面

f:id:hitxutokun:20160110001208p:plain

Save As に保存されるgifアニメの名前を入力します。私は3つの録画オプションを選択しています。

  • mouse button press
    マウスをクリックすると、マウスカーソル先端に丸印が表示されます。

    f:id:hitxutokun:20160110001813p:plain

  • Automatically stop after
    指定した秒で録画を停止します
  • Control+Alt+P pauses recording
    Control+Alt+P で録画が一時停止されるはずですが、私のMacでは一時停止されませんでした。

録画の停止

ふた通りの方法があります

  1. 起動画面右下の Stop ボタンをクリックする
  2. Automatically stop after で、録画時間を指定する

1番目の方法だとマウスカーソルをStopボタンまで移動する場面が映るので、私は2番目の方法を使っています。

おわり

一時停止のショートカットが効けば最高なのに・・・

iOSアプリ開発でnavigationbarの戻るボタンの文字を変える

iOSアプリ開発で、NavigaitonBar の戻るボタンの文字を変える方法のメモです。

開発環境

完成予定図

f:id:hitxutokun:20160109000429g:plain

Xcode の Master-Detail Application テンプレートを元に作成しました。遷移後のビューで戻るボタンは Back と表示されています。テンプレートのままだと、Master と表示されます。

NavigaitonBar の戻るボタンの文字を変える

遷移前のビューコントローラに戻る用のボタンを作ります。viewDidLoad メソッドに以下のコードを書きます。

override func viewDidLoad() {
  let btn_back = UIBarButtonItem()
  btn_back.title = "Back"
  self.navigationItem.backBarButtonItem = btn_back
}

ちょっと注意

戻るボタンを追加するのは遷移前のビューコントローラです。Master-Detail Application テンプレートだと、MasterViewControllerのことです。戻るボタンが表示されるのは遷移後のビューだからといって、遷移後のビューに戻るボタンを追加しないようにしましょう。私は追加してしまいましたが…