UIAlertView
UITextFied を追加していて、キーパッドがalertView の一部であるCancel
とボタンを隠しているため、 のフレームを移動したいOk
1 に答える
アラートビュー全体を移動したいだけですか、それともボタン内のビューを移動したいですか? 前者の場合、UIAlertViews は UIView サブクラスです。.frame プロパティを使用するだけです。
後者の場合は、そうしないことをお勧めします。代わりに、ある種のモーダル ビューをお勧めします。そして、これを可能にすることについて Apple にレーダーを提出すること。
基本的に、ビュー自体を変更するには UIAlertView をサブクラス化する必要があります。ただし、UIAlertViews は非常に脆弱であることを指摘する必要があります (ビューのボタンはプライベート クラスであり、IIRC の内部は以前に変更されています)。
しかし、現状では、ハックを使用する必要があります。UIAlertView は UIView サブクラスであり、必要に応じてサブビューを反復処理できます。ビューには 3 種類のビューしかありません。2 種類のビュー (メッセージとタイトル ラベル、追加するテキスト フィールド) は、 でチェックできるパブリック クラスです- isKindOfClass:
。
あるいは、アラートにメッセージを含めることを犠牲にして、「アラートに2行を占めるメッセージを作成し、そのサブビューをカバーするようにアラートビューを追加する」もあります。別の方法で、同じようにハッキーです。