1

UIAlertViewUITextFied を追加していて、キーパッドがalertView の一部であるCancelとボタンを隠しているため、 のフレームを移動したいOk

4

1 に答える 1

1

アラートビュー全体を移動したいだけですか、それともボタン内のビューを移動したいですか? 前者の場合、UIAlertViews は UIView サブクラスです。.frame プロパティを使用するだけです。

後者の場合は、そうしないことをお勧めします。代わりに、ある種のモーダル ビューをお勧めします。そして、これを可能にすることについて Apple にレーダーを提出すること。

基本的に、ビュー自体を変更するには UIAlertView をサブクラス化する必要があります。ただし、UIAlertViews は非常に脆弱であることを指摘する必要があります (ビューのボタンはプライベート クラスであり、IIRC の内部は以前に変更されています)。

しかし、現状では、ハックを使用する必要があります。UIAlertView は UIView サブクラスであり、必要に応じてサブビューを反復処理できます。ビューには 3 種類のビューしかありません。2 種類のビュー (メッセージとタイトル ラベル、追加するテキスト フィールド) は、 でチェックできるパブリック クラスです- isKindOfClass:

あるいは、アラートにメッセージを含めることを犠牲にして、「アラートに2行を占めるメッセージを作成し、そのサブビューをカバーするようにアラートビューを追加する」もあります。別の方法で、同じようにハッキーです。

于 2010-05-14T07:22:47.823 に答える