2011-01-20 4 views
2

作成したアラートビューのボタンフレームへの参照を取得する方法はありますか?トップボタンの位置を見つけたいので、そのフレームを使用して、その上に直接画像を配置することができます。私は、画像を配置する余地があることを確認するために、私のalertviewテキストの最後に2つ余分な\ nを持っていますが、その空き領域がalertviewにどこにあるのかを判断する必要があります。上のボタンを参照として使用すると、信頼できる方法のように見えます。UIAlertViewのボタンフレームはすべて0ですか?

Iボタン配列(ThreePartButtonを??)を返すし、以下を試みたが、各ボタンの大きさが設定されている間、それらのすべてのためのX、Y原点は0

NSArray *buttonArray = [alertView valueForKey:@"_buttons"]; 
for (UIControl *aControl in buttonArray) 
{ 
    CGRect rect = aControl.frame; 
    NSLog(@"x:%2.2f y:%2.2f w:%2.2f h:%2.2f", rect.origin.x, rect.origin.y, rect.size.width, rect.size.height); 
} 
である

実用的な解決策をご提案いただければ幸いです!

+0

ここでUIAlertViewボタンのフレームを設定することはできませんが、ここでカスタムのalertviewを作成し、そのAlertViewの中にUIButtonを配置することができます。 – AppAspect

+0

私はボタンフレームの設定に興味がありません - フレームの情報を取得するだけです。 – memmons

答えて

5

トリックは、ビューのフレームが表示される直前に計算されることです。 はそうUIAlertViewDelegate(あなたがたとえば、あなたのUIAlertViewを作成したクラス)を使用して

- (void)willPresentAlertView:(UIAlertView *)alertView 

デリゲートメソッドを実装します。計算されたUIButtonのフレームにアクセスします。

+0

非常に知っていますよ!ありがとう! – memmons

+0

は満足ですか?もっと情報が必要ですか? – teriiehina

+0

完璧でした。申し訳ありません - 私は答えに投票しましたが、それを受け入れたものとしてマークするのを忘れました。 – memmons

関連する問題