ラベル swift の投稿を表示しています。 すべての投稿を表示
ラベル swift の投稿を表示しています。 すべての投稿を表示

2015年2月2日月曜日

UIVisualEffectViewを試してみた(iOS8)

iOS7以前までは、画像に対してBlur効果(磨りガラス効果)を適用するためには外部のライブラリを使用する必要がありました。
しかしiOS8になり、ようやくBlur Effectが既存のAPIとして提供されることになったので試してみました。

  1. Blur効果を適用する

            
                let imageView = UIImageView()
                imageView.frame = view.frame
                imageView.image = UIImage(named: "bg_image.png")!
                view.addSubview(imageView)
    
                let darkBlurEffect = UIBlurEffect(style: UIBlurEffectStyle.Dark)
                let darkBlurView = UIVisualEffectView(effect: darkBlurEffect)
                darkBlurView.frame = CGRectMake(0, 0, 100, 100)
                view.addSubview(darkBlurView)
            
          
    bg_image.pngには好きな画像を選んでください。
    bg_image.pngにBlurがかかったように表示されます。
  2. Blur効果のオプション

    • UIBlurEffectStyle
      1. Dark
      2. Light
      3. ExtraLight
      の3種類が用意されています。
    • ぼかし半径
      変更不可能です。
    • 透明度
      変更可能ですが、alpha値を1未満にするとBlur効果自体が薄れてしまうので、alpha値 = 1で使用することが推奨されています。
    • 色の変更
      UIVisualEffectViewのbackgroundColorを変更しても色は変更されません。Blurの色を変更するためには新しいViewをUIVisualEffectViewの裏側に挿入する必要があります。
    • アニメーションへのBlur
      背景のImageViewやUIVisualEffectViewが動いても、Blur効果は動的に適用されます。
  3. Blur効果の確認テスト

    Blur効果のテスト用コードを書きました。

    ソースはこちら https://github.com/takanori-matsumoto-mulodo/BlurView

              
                git clone git@github.com:takanori-matsumoto-mulodo/BlurView.git
              
             
    で試してみてください

    UIVisualEffectViewをドラッグで動かせるようにして、背景にどのようにBlurがかかるかを確認できます。

2015年1月27日火曜日

Swift + Realm DB をCocoaPodsで導入する手順

MacにCocoaPodsをインストール

  1. gemを使ってCocoaPodsをインストール

    sudo gem install cocoapods
    

    プレリリースのベータ版が必要になることがあるので、念のため併せてインストール

    gem install cocoapods --pre
    
  2. terminalを再起動する

    忘れがちです。
    再起動後にバージョンを確認しインストールされていることを確認します

    pod -v
    
  3. Set Up

    pod setup
    

XcodeのProjectを作成

Xcodeでの詳しいProject作成方法は省略します
使用する言語はSwiftを選択します
説明のため名前をProjectの名前をSampleとして以下説明します

Xcode ProjectにCocoaPodsを導入する

  1. Xcodeで作成したプロジェクトのディレクトリに移動

    cd project root directory
    ls -la
        Sample
        Sample.xcodeproj
        SampleTests
    
  2. CocoaPodsを初期化

    pod init
    

    Podfileが作成されます

  3. Podfileの編集

    target 'Sample', exclusive: true do
        pod 'Realm'
    end
    
    target 'SampleTests', exclusive: true do
        pod 'Realm/Headers'
    end
    

    ブロックを用いて、ターゲットごとにインストールするpodを分けることが出来ます。
    exclusive: trueとすると、ブロック内のpodのみしかインストールしないようになります。

  4. pod initした同じディレクトリで以下のコマンドを実行します。

    
    pod install
    
  5. Xcodeのプロジェクトを一旦閉じて、Sample.xcworkspaceという名前のプロジェクトを開きます。

    この時点で、Realm DBの導入自体は終了です。

SwiftでのRealm DBの利用

CocoaPodsでインストールしたRealm DBはObjective-Cで書かれているので、
Swiftのプロジェクトでも利用するためにBridging Headerファイルを追加します。
以下のヘッダファイルをプロジェクトに追加します。
Sample-Bridging-Header.h

  1. 以下の行を追記

    #import <Realm/Realm.h>
    
  2. プロジェクトのBuild Settings -> swift compiler

    Objecctive-C Bridging headerの項目に

    Sample/Sample-Bridging-Header.h
    

    を追加する。パスを間違えやすいので注意してください。環境によっては別の階層かもしれません。

  3. 確認
    swiftのファイルに

    RLMObject()
    

    等と書いてエラーにならなければ正しく導入できています。