2012年7月15日日曜日

iOSシミュレータで ピンチイン・ピンチアウトする方法


「option」ボタンを押すと2点のマルチタップができるようになります
iOSシミュレータを起動して「option」ボタンを押すと、下記のように、2つのポインタが表示されます。
ボタンの1点はマウスがポイントしているところ、もう一点はシミュレータの中心から正反対のところに表示されます。

その状態からマウスを動かすと、もう一点のポインタもシミュレータの中心から点対称で動きます。
つまりこれでピンチイン・ピンチアウトできます。

また「option」と同時に「shift」ボタンを押すと、2点のポインタの位置関係を維持したまま移動できます。

2012年7月8日日曜日

iOSのUIWebViewでアニメーションを滑らかにする(アクセラレータで)


JavaScriptでタイマーを張ってのアニメーション
それだと、iOS(特にiPod touch)ではマシンパワーが足りないのでカクカクしてしまいます。

でもハードウェアアクセラレータを有効にすると、滑らかになります。

このエントリの目次
  1. アクセラレータが効いているかを確認する
  2. アクセラレータを効かせる方法
  3. 検証用ページを作ってみた
  4. 検証用ページをシミュレータで確認してみる
  5. さいごに

1.アクセラレータが効いているかを確認する
iOSシミュレータで確認できます。

下記のようにiOSシミュレータを起動した状態で、ブレンドレイヤー(カラー)を有効にすると確認できるようになります。


有効にすると、画面が赤と緑で塗りつぶされるようになります。
赤い部分がアクセラレータが効いている領域で、緑の部分が効いていない領域です。
(下の図でいうと、シミュレータ画面 下部の「戻る」、「進む」「更新」ボタンなどです)


2.アクセラレータを効かせる方法
iOSのアクセラレーターが使えるCSS3 | ゆるふわWebデベロッピングによると、CSS3のtranslateを使うとハードウェアアクセラレータが有効になるようです。

translateが使えないとき
でもUIの仕様によってはtranslateが使えない場合もあると思います。

そんなときは、アニメーションをさせたいDOMに対して
-webkit-transform: translate3d(0, 0, 0);
もしくは
-webkit-transform-style: preserve-3d;
というCSSを適用すると、その領域のアクセラレータが有効になります。
(GPUアクセラレーターが使える環境で強制的に有効にできるCSSの指定方法 | 5509より)

3.検証用ページを作ってみた
サンプルとしてアクセラレータがきいていないページとアクセラレータがきいているページを作ってみました。
あるdiv領域をタップすると、それが大きくなったり小さくなったりするだけの簡単なページです。

動作を確認するときは、作ったサンプルアプリ(GitHub)をインストールしてみて下さい。
(UIWebviewで検証ページを表示しているだけですが、アプリじゃないとアクセラレータがきいているかどうかシミュレータで確認できません)。
それが面倒くさい場合はiOSのsafariで検証用ページを開いてみて下さい。

アクセラレータがきいていない方が若干カクカクして見えます(このレベルのアニメーションだと よく見ないと違いが分かりませんが)。

4.検証用ページをシミュレータで確認してみる
上記ののサンプルアプリをXcodeで開いてください。

アクセラレータがきいていない場合は青の部分がそのままの色で表示されています。


一方、アクセラレータがきいている場合は青の部分に赤色が重なって紫色になっています。
意図したとおりにアクセラレータがきいています。


5.さいごに
実は僕のCSS力が低くて、本当はどんな場合もtranslateを適用できるのかもしれませんが...。
でもサクッとチューニングできるので、工数が足りない場合に使えると思います。

参考にさせて頂いたサイト
  1. GPUアクセラレーターが使える環境で強制的に有効にできるCSSの指定方法 | 5509
  2. iOSのアクセラレーターが使えるCSS3 | ゆるふわWebデベロッピング
  3. UIWebViewのサンプル | iOS AppNote
  4. UIWebView | iPhoneアプリ開発の虎の巻

2012年7月5日木曜日

Mac OS X Lion 10.7.4 で tree コマンドを使えるようにする


MacPortsで一発です
$sudo port install tree
Password:
--->  Computing dependencies for tree
--->  Fetching tree
--->  Attempting to fetch tree-1.5.2.2.tgz from ftp://ftp.jp.FreeBSD.org/pub/FreeBSD/ports/distfiles/
--->  Verifying checksum(s) for tree
--->  Extracting tree
--->  Applying patches to tree
--->  Configuring tree
--->  Building tree
--->  Staging tree into destroot
--->  Installing tree @1.5.2.2_0
--->  Activating tree @1.5.2.2_0
--->  Cleaning tree

これでtreeコマンドが使えるようになりました。

2012年6月20日水曜日

Blogger にソーシャル系ボタンを設置する方法


ここで言うソーシャル系ボタンとは
  1. Twitter
  2. Facebook
  3. Google+
  4. はてなブックマーク
です。

僕がいま使用しているテンプレートと相性が悪いのか、Bloggerで設定しても反映されません。
(ていうかバグやろ…(怒))

なので、他のサイトを参考に設置してみました。

今回のバグ起因でBloggerについてのエントリが連続してしまうのは正直 不本意ですが、面倒くさかったので書いておきます。

このエントリの目次
  1. 普通の設定方法
  2. 貼り付けるコード
  3. Bloggerに貼り付ける
  4. さいごに

1.普通の設定方法
Bloggerにソーシャル系のボタンについての設定があるので、おそらく普通はそれで設置できるんだと思います。
簡単に手順だけ書くと…
  1. Bloggerの設定画面の「レイアウト」にいく
  2. 「ブログの投稿」ボックスの「編集」ボタンをクリック
  3. 「ブログの投稿の設定」が別ウィンドウで開く
  4. 「[共有] ボタンを表示する」にチェックを入れる
  5. ドラッグアンドドロップでモジュールの位置を設定
  6. 「保存」ボタンを押して完了

これで設定してるはずなのに、当ブログには反映されてませんでした。
なので、直接HTMLを編集して設置しました。

2.貼り付けるコード
以下をコピペ。
<div style='margin: 4px 0px 0px 0px;'>
  <ul>
    <!-- Twitter -->
    <li style='display:inline-block; list-style-type: none;'>
      <a class='twitter-share-button' data-count='horizontal' data-lang='ja' expr:data-text='data:post.title + " : " + data:title' expr:data-url='data:post.url' href='http://twitter.com/share'>Tweet</a>
      <script src='http://platform.twitter.com/widgets.js' type='text/javascript'/>
    </li>
    <!-- Facebook -->
    <li style='display:inline-block; list-style-type: none;'>
      <iframe allowTransparency='true' expr:src='"http://www.facebook.com/plugins/like.php?href=" + data:post.url + "&layout=button_count&show_faces=false&action=like&font=arial&colorscheme=light"' frameborder='0' scrolling='no' style='border:none; overflow:hidden; width:180px; height:21px;'/>
    </li>
    <!-- Google plus -->
    <li style='display:inline-block; list-style-type: none;'>
      <g:plusone expr:href='data:post.url' height='20' size='medium'/>
    </li>
    <!-- Hatena bookmark -->
    <li style='display:inline-block; list-style-type: none;'>
      <a class='hatena-bookmark-button' data-hatena-bookmark-layout='standard' expr:data-hatena-bookmark-title='data:post.title + " : " + data:title' expr:href='"http://b.hatena.ne.jp/entry/" + data:post.url' title='このエントリーをはてなブックマークに追加'><img alt='このエントリーをはてなブックマークに追加' height='20' src='http://b.st-hatena.com/images/entry-button/button-only.gif' style='border: none;'/></a>
      <b:if cond='data:post.isFirstPost'>
<script async='async' charset='utf-8' src='http://b.st-hatena.com/js/bookmark_button.js' type='text/javascript'/>
      </b:if>
    </li>
  </ul>
</div>

3.Bloggerに貼り付ける
まずHTMLエディタを表示する
Bloggerのテンプレートを手作業で編集していきます。

Bloggerの設定ページで「テンプレート」を選択し、「HTMLの編集」ボタンを押します。


下記のような画面になるので、「続行」ボタンを押します。


HTMLエディタが表示されたら、「ウィジェットのテンプレートを展開」にチェックを入れます。


HTMLを編集する
いよいよ編集開始です。
逐一 編集結果を確認しながらの作業になると思うので、最初にメモ帳とかにバックアップをとっておくことをオススメします。

ボタンをどこに設置したいかによってコードを貼り付ける場所は変わってきますが、僕の例を載せます。

「post-footer-line-2」という文字列で検索します。
すると、
<div class='post-footer-line post-footer-line-2'>
という箇所が見つかります。
僕のテンプレートでは二箇所見つかりましたが、上の方のみ編集しました。
(ざっとHTMLを眺めた感じ、上はPC向け、下はモバイル向け、のようです)

上の <div>タグの直後に、コードを貼り付けました。


すると以下のように、ソーシャル系ボタンが表示されました。


4.さいごに
Blogger に Twitter & Hatena & Google+1 & Facebook のボタンを設置する | Jkun Blogを参考にさせて頂きました。
各ボタンの横幅が揃わなかったので修正を試みましたが、諦めました。

それでは。

2012年6月18日月曜日

Blogger にTwitter Follow Badge を導入する方法


このエントリの目次
  1. Twitter Follow Badgeとは
  2. コードを生成する
  3. Bloggerに設置する
  4. さいごに

1.Twitter Follow Badgeとは

←これのコトです。

クリックすると、その人のツイッターにアクセスできます。

前から他のブログでよく見かけていましたが、今回、ようやく当ブログに導入するコトにしました。

2.コードを生成する
Twitter "Follow" Badge for your site/blogにて、自動でコード生成できます。


上記サイトにてツイッターアカウント、「Follow me」などの文字列、背景色、左右のどちらに表示するか、などを入力していきます。

そして、キャプチャの「UPDATE CODE」ボタンをクリックします(赤丸で囲んだ部分)。

すると、貼り付けるべきコードが表示されます。
あとはBloggerに設置するだけ!

3.Bloggerに設置する
テンプレートのHTMLを直接編集して設置します。

まずは、Bloggerの設定ページで「テンプレート」を選択し、「HTMLの編集」ボタンを押します。


すると、下記のような画面になります。
「上級ユーザーにのみおすすめします」という怖い注意書きがありますが、いつでもデフォルトに戻せるので気にせず、「続行」ボタンを押します。


以下のようなHTMLエディタが表示されます。


いよいよコードの貼り付けです。
</body>というタグを見つけ、そのすぐ上に先ほどのコードをペタリと貼り付けるのですが…。


でもコードを二箇所だけ、修正する必要があります
Bloggerで使うには、ちょっと修正が必要です。

<script>タグの直後の<!--と</script>タグの直前の-->を、それぞれ&lt;!----&gt;に修正します。

具体的に言うと…。

修正前。
<script src="http://www.go2web20.net/twitterfollowbadge/1.0/badge.js" type="text/javascript">
<script charset="utf-8" type="text/javascript"><!--
tfb.account = 'ico_mob';
tfb.label = 'follow-me';
tfb.color = '#35ccff';
tfb.side = 'r';
tfb.top = 136;
tfb.showbadge();
-->
</script>

修正後。
<script src="http://www.go2web20.net/twitterfollowbadge/1.0/badge.js" type="text/javascript">
<script charset='utf-8' type='text/javascript'>&lt;!--
tfb.account = 'ico_mob';
tfb.label = 'follow-me';
tfb.color = '#35ccff';
tfb.side = 'r';
tfb.top = 136;
tfb.showbadge();
--&gt;
</script>


あとは、「テンプレートを保存」ボタンを押して、完了です!

4.さいごに
今更感はありますが、流行にのってみました。

よろしければフォローして下さい。
それでは。

参考にさせて頂いたサイト。
Twitter Follow BadgeをBloggerで使う方法 | 試行錯誤

Related Posts Plugin for WordPress, Blogger...