[i0S8] presentModalViewController で表示している画面で文字が切れる
iOS8 を甘く見ていたようで、いろいろな問題が発生している。
今回発見したのは おんぷちゃん for iPad で presentModalViewController を使って表示している結果表示画面内の部品がずれて表示されて、ボタンが押せないという問題。
試してみればすぐ発見できる問題だったが、iOS8 上でのチェックが甘かった。
- (void)viewWillAppear:(BOOL)animated { int w = self.view.bounds.size.width; int h = self.view.bounds.size.height; MY_LOG(@"%d %d", w, h);
調査の結果、なぜか viewWillAppear で部品の配置を行っているためだった。
iOS7 まではこれでも正しく動いていたのだが、iOS8 からは、ModalView のサイズ(540, 620)ではなく、画面全体のサイズ (768, 1024)が返ってきていた。
とりあえず viewDidAppear に処理を移動したところ正しく表示されるようになったが、一瞬部品の再配置が見えてしまうので、viewDidLoad で部品を非表示にして、viewDidAppear で表示するようなWorkaroundを入れました。
それと、いまさらながら iOS6からはUITextAlignmentCenter が Depricated となり、NSTextAlignmentCenter を使う必要があることを知った。
Label Alignment in iOS 6 – UITextAlignment deprecated – Stack Overflow
iOS8 はiPhone6 Plus 対応など内部的には大きな変更が入っているようで、これまで起きたことがないような問題がたくさん起きている。
趣味の開発者には厳しい状況。
関連記事
-
[おんぷちゃん] おんぷちゃん for iPad ver.1.2 鍵盤に音名を表示
かなり久しぶりにおんぷちゃん for iPad を更新。今回でバージョン1.2になります。 おんぷち
-
MacFan 2017年5月号でアプリ紹介されました
Mac Fan 2017年5月号 でおんぷちゃん for iPad を紹介していただきました。ありが
-
iPhone開発のネタ帳: UIPopoverController に UIPickerView をいれる
iPad から追加された部品の一つに、UIPopoverController がある。 iPadが
-
[iPhone 開発本] iPhone/iPadゲーム開発ガイド ―Objective-Cで作る2D/3Dゲーム
今年の4月にオライリーのiPhoneゲーム開発本 iPhone Game Development (
-
UITableViewCell セルの再利用の問題
設定画面に他の自作アプリ情報を加えたりしようと思い、UITableViewController で1
-
FlashAir W-03活用開始
ようやく休みになったので、FlashAir W-03を活用してみることにした。まずは、iOSから使え
-
[WatchKit] WatchSim 買ってみた
WatchSim Danny Keogan posted with iT
-
Apple Event Apple Watch 3/10 2AM JST
Apple Watch に関するイベントが3/10(火)2:00AM JSTに行われるら
-
[iOS] iOSでToast
iOSでAndroidのToast的な、数秒間メッセージを表示して自動的に消える部品を探していたのだ
-
Pebbleアプリ改造中
PebbleアプリEverLearnを改造中です。1秒1単語で1分間で60単語を表示。左が初代Peb