そうだ、私はiPadだけじゃなくて、iPhoneにも対応しようとしてたんだ。
Universalで作っているので、Storyboardは2つある。
でも、ほとんど同じような画面になるので、文言なんかは共通にしたい。
でもでも、Storyboardが別なので、ObjectIDなんかも別になる。
そしたら、iPad用に一度stringsを作っても、それをそのままiPad用にする、というわけにはいかない。
むー。
そのとき、どこからか声がした。
「ObjectIDにあわせるのではない。ObjectIDをあわせるのだ」
はっ!!
私はStoryboardファイルをソースコードとして開き、idを書き換え、stringsを更新するスクリプトを実行した。
そうすると、ちゃんと反映されるではないか。
/* Class = "IBUILabel"; text = "クエリー"; ObjectID = "IPAD-SECTION1-QUERY"; */
"IPAD-SECTION1-QUERY.text" = "クエリー";
"IPAD-SECTION1-QUERY.text" = "クエリー";
こんな感じだ。
これができるなら、ObjectIDをリソースID代わりに使って、プレフィクスとかでiPadとiPhoneを切り分けるようにすることができるんじゃなかろうか。
もちろん、最大の難関は、ObjectIDを書き換えることだ。
見ている限りでは、Storyboardとstringsで完結しているようなので、書き換えること自体は問題なさそうなんだけど、どうやって書き換えるかだ。
XcodeのStoryboardエディタからはできないので、自分でやらないとできない。
せめて、ObjectIDじゃなくて、Labelとかで管理できればいいのになぁ。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。