*

UIActionSheetの文字がブレて多重表示される

公開日: : 最終更新日:2014/02/24 Tips , , ,

UIActionsheetを使っていて、iOS7/iPadの組み合わせで起こる不具合らしき挙動が起こった。
これがとてつもなく見栄えが悪い、というかどう考えても実用に難がありそうな表示になったのでどうにかしないといけない。
具体的にはUIactionSheetのViewがiOS7の基本である半透明の白のままだと、項目数が多すぎるときに表示がおかしくなり、shadowと思われる部分がメインと同じ色で出て、2重にブレて表示されるのである。
しかたがないのでUIActionSheetの子コンポーネントを直接弄って不透明にする必要がある。

これはUIActionSheetDelegateの実装でできるのだが、果たしてRejectせずに通るのだろうか(このコードを入れたアプリは作成中で、Appleの審査に回していない)。

- (void)willPresentActionSheet:(UIActionSheet *)actionSheet {
  actionSheet.backgroundColor = [UIColor whiteColor];
  for (UIView *subview in actionSheet.subviews) {
    subview.backgroundColor = [UIColor whiteColor];
  }
}

バグだという話はstackoverflowdではささやかれているので、直って欲しいものだ。

参照サイト:stackoverflow
http://stackoverflow.com/questions/19025852/xcode-ipad-uiactionsheet-with-many-buttons-do-not-correctly-displayed-ios7

関連記事

UITableViewのセルセパレータが画像の下部分だけ切れる場合の対応

iOS7のUItableViewCellだと、UITableView.imageViewに画

記事を読む

iOS6時代のアプリのiOS7への対応

やや古い情報になるが、iOS7対応に関して自分がやったことの覚え書き。いろんな所から拾って来た情

記事を読む

アプリ内で自動スリープの設定を無効化する

「設定」アプリ内で設定したスリープ時間設定を無効にするためのコード。 アプリがバックグラウンドにな

記事を読む

App Storeのページにアプリケーションから直接アクセスする方法

去年(2013年)の秋ごろ、iOS7の出始めの時期に書かれたblog記事などを参考にすると、iOS6

記事を読む

UITableViewCellのロングタップ

UITableViewCellをロングタップしたときに、タップされたセルを認識しつつメニューを出した

記事を読む

viewDidLoadとviewDidLayoutSubviewsのタイミング

真実の記事にある「コードでiPhone6を識別する」話とほんのちょっとだけ繋がっている話で、view

記事を読む

iPad用storyboard⇔iPhone用Storyboardへの変換

iPad用アプリとしてiPad用前提のstoryboardから、iPhone対応にするにあたり、si

記事を読む

Xcode5.1のInterfaceBuilderにおける地味な変更点

iOS7.1に合わせてXcode5.1がリリースされました Xcode Release N

記事を読む

UITableViewのセクションヘッダをStoryboardで作る時の参考

UITableViewのセクションヘッダをカスタムして作る際に、セルと同様にプロトタイピングするため

記事を読む

NSDictionary/NSMutableDictionaryの”valueForKey:”と”objectForKey:”の違い

表題にある通り、似ていて混同する(そして、取り違えても「たいてい」普通に動作する)NSDiction

記事を読む

Xcode10からのimage literal / color literalの指定方法

アセットにあるUIImageの直接指定が可能なImage litera

Xcode11でのバージョン番号の取得方法

Xcode11になってバージョン番号をスクリプトから得て自動で更新する

GoogleスプレッドシートからCSVにエクスポートしたデータを得る方法

情報がない中さんざ苦労しましたが、Googleスプレッドシート(の最初

画面回転をしたあとに、UITextViewの先頭を表示する

回転によりサイズが可変するUITextViewで、縦向き(ポートレイト

NXDrawKitを導入してみる

ACEDrawingViewがObj-Cで書かれていて、いまいちメンテ

→もっと見る

    PAGE TOP ↑