iPhone Tweak プログラミング? ホーム画面でのアイコンの場所についての判定方法

自分用めも見たいなもの?

世界のてつおさんが、作ってらっしゃるすばらしいTweak、「LabelUp」に触発されていろいろいじった時に調べた事。

iPhoneの ホーム画面でアイコンがDockにあるか、スイッチャーにあるか、フォルダーにあるかで、ラベルの位置を変えたい場合の判定について。

アイコンラベルはSBIconLabelImageViewってやつですが、アイコン本体はSBIconViewになります。

で、どこにあるかの判定方法ですが、まずDock内かどうかは、SBIconViewの- (BOOL)isInDockで判定出来ますね。

あとの判定はどうやるか?

SBIconViewに- (int)location ってのがあります。

これの値で判定すれば良い様ですが、それぞれの値についてググってみると、r_plus先生のこのソースに記述が見つかりました。

// location 0 == HomeScreen, 1 == Dock, 2 == AppSwitcher.

この値を参照すれば、Dock内かどうかも、まとめてわかる様です\(^o^)/ヤッター!。

あとひとつ、知りたいことがありました。

アイコンがフォルダー内にあるかどうかの判定ですね。

ググってもなかなか良い情報がありません\(^o^)/

仕方が無いので、自分で力技でしらべてみました。

( ̄^ ̄;)ウーン

.....................

.....................


どうやら、SBIconViewの入っているview(superview)がSBFolderで始まる名前の場合、フォルダー内にあると判断しても良さそうです。

ばんじゃーい ゙∩(〃・ω・〃)∩゙ ばんじゃーい
******************************************
[訂正]
フォルダー内かどうかの判定だけど、フォルダー開いてるときしか、判定出来なかった(T-T)
フォルダ開いてない時はsuperviewがnilになってて判断出来ないじゃまいか。
仕方が無いので、SBIconListViewからレイアウト変更する時(layoutIconsNow)に
フォルダーかどうか判断すれば良いみたい。
あとよくわからないのがあって、SBFolderSlidingViewって奴なんだけど、現在調査ちう。
******************************************

これでラベルの配置が自由自在だね( ꒪⌓꒪)


Σ\( ̄ー ̄;)ナンデヤネン on Twitter: "@pizzapaedo こんな感じだよ(^ ^) http://t.co/k15eaL4KDR"