2014年12月15日月曜日

【iOS】Google material-design-iconsをフォント化(ttf)して使いやすくしたよ

フォントをiOSアプリに組み込めることはご存知かと思います。
もちろん画像を使ってもいいのですが、
フォントを使うと以下の良いことがあります。
・プロジェクトにimportが楽(1ファイルに纏まっているので)
・色変更が簡単
・サイズ変更に強い
・管理が楽
・AttributedStringの一部として文章中に出せる

先日、Googleがmaterial-design-icons https://github.com/google/material-design-iconsを公開しましたが、
iOS用の画像も用意されています(さすがGoogleさん)。
残念ながらフォントは用意されてなかったので作ることにしました。
svgファイルをフォント化(ttf)してiOSから使いやすくしたので公開します。
全部で1661個のアイコンが使用できます。


※Swiftで実装しています。

GoogleMaterialDesignIcons2.gif
使い方
GoogleIcon.swiftファイルとgoogleicon.ttfファイルをプロジェクトに追加。
info.plistにFonts provided by application keyを追加して、googleicon.ttfを指定。

GoogleIconクラスに定数でフォント文字を全て定義してあるので、
アイコン一覧から使いたいアイコン文字を見て使用してください。
※アイコン一覧はicon/googleicon.htmlで見れます。
GoogleIcon.e600
GoogleIcon.e601
GoogleIcon.e602
GoogleIcon.e603
..

hogeLabel.font = UIFont(name: GoogleIconName, size: 30.0)
hogeLabel.textColor = UIColor.greenColor()
hogeLabel.text = GoogleIcon.e600


storyboardからフォントを指定する場合
ScreenShotLabelFont.png
デザイナーがいない方や、個人で開発している方などにお役に立てたら嬉しいです。
ぜひFeedBackお願いしますm(- -)m


ライセンスはGoogleのmaterial-design-iconsを使用したものなので、Creative Commons CC BY 4.0です。

2014年12月5日金曜日

【iOS】SwiftでiQON / Google+/ GoogleMap/ Feedly 風のスライドメニュー


SwiftでiQON / Google+/ GoogleMap/ Feedly  風のスライドメニューライブラリを作りました。



サイドから被さるように表示するメニューです。
下に隠れているメニューが主流ですが、最近は上に被さるUIもちょくちょく見かけるようになってきました。


個人的にはこの被さるメニューのUIの方が好きなので、
こっちのライブラリをつくりました。














Download Source
https://github.com/dekatotoro/SlideMenuControllerSwift

まだとりあえず動くようにしたレベルなので
ぜひFeedBackお願いしますm(- -)m

2014年10月27日月曜日

【iOS】Swiftコーティング規約について

お久しぶりです。

ブログ久しく書いてなかったのですが、
ぼちぼち書いていこうかと思います。

サーバサイド、フロント、Androidアプリ開発も一通りやって
最近iOSアプリの開発やってます。


そろそろ本格的にSwiftで開発はじめます。



SwiftはLLなみに自由に書けるので
チーム開発はコーディング規約が必須でしょう。

とりあえず文法も軽く押さえたので参考になりそうなものを
あさってみました。


チュートリアルサイトで有名なhttp://www.raywenderlich.com/
の公式コーディング規約がけっこう良さげです。

https://github.com/raywenderlich/swift-style-guide


上記swift-style-guideを適当に和訳しましたので参考にどうぞ。




Wantedlyのコーディング規約も良くまとまって参考になります。
Sioriを100%Swiftで作ってる実績もあるので信頼できますね。
Swiftコーディング規約@Wantedly


コーディング規約はこの辺を参考にしつつ
少しずつ作っていこうかと思います。



ではまた。

2011年10月21日金曜日

Java jadでjarをGrepするバッチ(bat)

jar内のclassをjadコマンドで逆コンパイルして
文字列検索する簡単なバッチスクリプトを作りました。

jargrep.bat
@echo off

if "%1"=="" ( 
goto error

) 

for %%i in (*.*) do  (
    jar xf %%i
)

jad -r -o **/*.class 2>nul


for /R .. %%i in (*.jad) do  (
 echo "%%i"
    type "%%i" | find "%1"
)
goto end

:error
echo エラー:引数が指定されていません 

:end



検索したいjarを一箇所に集めて、同じディレクトリに
batファイルを持ってきて下記のように実行。
jargrep.bat xxxx > grepresult.txt

jarを解凍したファイルも消してないし、全然汎用的には作ってませんが、
時間がないのでとりあえずいいか。

findstrの方が正規表現とかもできるけど、
1行が長いとエラーになるっぽいので、とりあえずfindにしてます(めちゃ重い)。
ここは自分でGrepクラスでも作った方がよいかも。。

2011年7月29日金曜日

Java class依存関係 jar依存関係 解析ツール

class依存関係やjar依存関係を調べるのによいツールはないかと
思って調べたのですが、いくつかあった中でこのツールが非常に
便利だったので紹介します。
tattletale
http://www.jboss.org/tattletale
2011/07/29現在 最新は1.1.2

▼使い方
java -jar tattletale.jar [ターゲットディレクトリ] [レポート出力ディレクトリ] 
▼ex)
java -Xmx512m -jar tattletale.jar C:/dir ./report

[ターゲットディレクトリ]はEclipseのworkspaceを指定してOK


レポート結果はHTMLで出力され、
classの依存関係、jarの依存関係など様々の情報を出力してくれてかなり便利です!

2011年6月24日金曜日

javaで円マークとバックスラッシュ

はまったのでメモ

円マークのwiki
Unihan Database

円マークとバックスラッシュ
Shift_JIS
  0x5c 円マーク
  0xa5 なし
  
UTF-8
  0x5c   バックスラッシュ
  0xc2a5 円マーク

UTF-16
  0x005c バックスラッシュ
  0x00a5 円マーク
  

ISO-8859-1
  0x5c バックスラッシュ
  0xa5 円マーク


Unicodeエスケープで確認
●画面出力
  日本語フォント  MS ゴシック
  "\\"              →  円マーク
  "\u005c\u005c"    →  円マーク
  "\u00a5"          →  円マーク

  英語フォント    Arial
  "\\"              →  バックスラッシュ
  "\u005c\u005c"    →  バックスラッシュ
  "\u00a5"          →  円マーク

●JasperReportでPDF出力
  "\\"              →  バックスラッシュ
  "\u005c\u005c"    →  バックスラッシュ
  "\u00a5"          →  円マーク

ブラウザからの入力時に、円マークとバックスラッシュを入力・区別できるのかというと、
とりあえずファイルで作成したものをコピペで両方入力可能でした。
円マークもバックスラッシュも両方画面上は円マークとして表示される(日本語フォント)が、
サーバ側で取得すると判別可能なためString.replaceAll等で置換可能ですね。

2011年6月16日木曜日

eclipseでリモートデバッグ

eclipseでリモートデバッグ方法メモ

▼リモートのJVM起動オプションに下記を追加
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address
=12345


▼eclipse
「eclipseメニューの実行」→「構成及びデバッグ」→「リモートjava
アプリケーション」→右クリックして新規→
・「プロジェクト」 デバッグするプロジェクトを指定
・「接続タイプ」 標準(ソケット接続)
・「ホスト」 ホストを指定
・「ポート」 JVMオプションで指定したportを指定(上記の例だと12345)
→「適用」→「デバッグ」