Allied ArchitectsAllied ArchitectsEngineer Blog

iOS7で追加された Safari Service Framework と UIMotionEffect に触ってみた

2013/10/29 Objective-C

岩間です。
先日、iOS7.0.3のWebブラウザ上でのバグを踏んでしまいましたが、同僚と毎夜狩りに出かける程度には元気です。

今回は Safari Service Framework に触ってみました、これはiOS5で追加された Safari のリーディングリストにアクセスするためのものです。
簡単な使い方のサンプルはこんな感じです。

上記のコードを実行した後で、Safariのリーディングリストを見てみると以下の画像のように、引き渡したURLやタイトル等が反映されます。

尚、リーディングリストに追加する事が出来るURLかどうかは、 [SSReadingList supportsURL:url] で確認する事が出来ます。

追加済みだったら、その旨通知してくれたら楽なんですが今のところそういった機能は提供されていないようです。プライバシーの問題なのか、すでに追加済みのリストなども取得出来ないようでイマイチ使い勝手が……。

ちょっと短かったので、UIMotionEffect について軽く触れます。UIMotionEffect はiOS7で追加された視差効果(ホーム画面のアイコンのしたの画像が動くアレ)を自身のアプリ上で実現するためのものです。
UIMotionEffect はAbstractクラスで、実装として UIInterpolatingMotionEffect が提供されています。
以下のように端末の傾きに合わせて動かしたいビュー(今回は背景に置いたUIImageView)に UIInterpolatingMotionEffect のインスタンスを渡してあげる事で簡単に実現する事が可能です。
KeyPath と type の組み合わせを間違えるとあべこべな動きになってしまうので気をつけて下さい。

実際に試して見ました。
背景の画像は、傾きによってズレる分だけビューの外側にはみ出させる形で配置しています。

デフォルト

縦に傾けた時(塔っぽい建物の天辺が見えるように)

横に傾けた時(塔っぽい建物がバッテリーインジケーターに被るところまで移動)

良いあんばいの画像が無かったのでイマイチ分かり難いですね……。今回のサンプルでは実際に動かした時にわかりやすいように RelativeValue に40を設定していますが、数値を大きくしすぎると見栄えが悪いので、5〜10位が妥当じゃないかなと思います。

最近、Rubyに興味の有る岩間でした。

アライドアーキテクツでは、永遠の狩人を募集しています。
http://recruit.aainc.co.jp/engineer/

happy_ryo
  • happy_ryo
  • えんじにあ
  • 営業→工場で作業→Word&Excel→Java→shellscript→Java→PHP→Python→Objective-C→Swift→PHP→JavaScript←イマココ 最近 Ruby はじめました。

RELATION ENTRY

Laravel の Eloquent の Factory について調べて見た

Laravel の Eloquent の...

2017/08/15 PHP

こんにちは、happy_ryo です。仕事で Laravel を書くことが増えた事により、Laravel に関して調べる機会がぼちぼちあるのですが、今回はテストの時にダミーのデータを持ったインスタンス作成するときに利用する Eloquent の Factory(以下 Factory) が、どのように...

続きを読む

Vue.js でファイルをポストしたいとき

Vue.js でファイルをポストしたいと...

2017/03/13 Vue.js

お久しぶりです、気を失っている間に iOS エンジニアではなくなっていた happy_ryo です。 意識を取り戻してからは Instagram と Twitter の API をガンガン叩きながら、Laravel と Vue.js たーのしー!している毎日です。 表題の通り、Vue.js で i...

続きを読む

happy_ryoの記事一覧へ

ページTOPへ