2014年12月25日木曜日

[iOS開発] Automatic Preferred Max Layout ...

ラベルを二行や三行で表示させようと、プロパティを設定すると次の警告が出る。


Automatic Preferred Max Layout Width is not available on iOS versions prior 8.0


たとえばこんな感じに二行設定してあるとして・・・。




ちょっと裏技的な対応になってしまうが、
StoryBoard のソースを直接修正(右クリック)すると、カンタンに対応できる。




該当ラベルに次のプロパティを追加するだけ。

preferredMaxLayoutWidth=0

StoryBoardを修正するときに、
何か消してしまったりすると修正が大変なので、バックアップはちゃんと取るようにしましょう。

追加した後に再度Interface Builder 開き直せば、警告は消えているはず!


http://stackoverflow.com/questions/25398312/automatic-preferred-max-layout-width-is-not-available-on-ios-versions-prior-to-8


追加:
見つけるには numberOfLines="0"としているラベルを手掛かりにすると簡単ですよ。




ではでは

2014年12月19日金曜日

iOS 開発 シミュレータを日本語環境で起動させる

よく忘れるので、備忘録。

Xcode6 からシミュレータを実行させる際に言語を指定することができる。

実行時のパラメータはこれ。
-AppleLanguages (ja)

設定箇所は
[Product]->[Scheme]->[Edit Scheme]で設定ページを開く
左側ペインのRunを選択、右に表示される Argument Pass On Launch で設定。



2014年12月17日水曜日

iOS開発 Presenting view controllers on detached view controllers is discouraged

タブをプログラムから切り替えるコードを作っていたら、

こんな警告が

「Presenting view controllers on detached view controllers is discouraged」


self.tabBarController の中にさらに navigationControllerがあるんで、
次のようなコードを書いてた。


// タブの選択を変更
self.tabBarController.selectedIndex = 0;

// セグエで遷移
[self.navigationController.viewControllers[0] performSegueWithIdentifier:@“xxxx" sender:nil];


どうも、セグエで遷移するときに落ちる模様。
self.tabBarController の中にさらに navigationControllerがあるのに、
そこからタブを飛び越えてセグエで無理矢理遷移するのが原因か?
ビューコントローラーで選択できるようなので、次のように変更、無事動作。

UINavigationController *vc = self.tabBarController.viewControllers[0];
self.tabBarController.selectedViewController = vc;
[vc popToRootViewControllerAnimated:YES];

リンク先を参考にさせていただいた。

iOSアプリ開発 temp-caseinsensitive-rename

iOSアプリ開発でハマったので、メモがてらに

プロジェクト名を変えるのはよくあることだと思うが、
(やり方はXcode でプロジェクトを選択、右側に表示される Identify and Type に新しい名前を入力する)

何がハマったかというと、
新しい名前を入れるはずが、同じ名前を入力してしまったから……。

ビルドするとこんなのが出たりとかなりパニクりましたよ。
[linker command failed with exit code 1]
名前はこんなのだったり。
Myapp-temp-caseinsensitive-rename

どうも同じ名前にしたらXcode が気を効かせて? case sensitive つまり、大小文字を識別して処理した模様。でも、linker 失敗みたいな。

対処はリンク先にあった。
プロジェクトファイル右クリックでパッケージを開く
エディタで直接開いて、もとの名前に修正してやる。
これで私の場合はなおりました。ふー

http://stackoverflow.com/questions/12848712/changed-project-name-in-xcode-causing-naming-error

はじめました&はじめまして

思いつきをつらつらと書き連らねるブログです。
キャッチフレーズは大きくなくてもいい、小さくでも稼げれば、です。