5

UIAlertView は、以下のコードを使用して iOS 6 で正常に動作しています。この問題を解決するには?

viewController.m ファイル

 [Utilities prCustomAlert:@"Textmessage" inTitle:@"Alert view title" delegate:self inTag:300];
 CustomAlertView *alertView    = [Utilities sharedUtility].customAlertView;
alertView.numberOfBtns  = 2;
UIButton *btn= (UIButton *)[alertView viewWithTag:10];
[btn setTitle:@"no" forState:UIControlStateNormal];
[btn addTarget:self action:@selector(dontlogout) forControlEvents:UIControlEventTouchDown];

btn = (UIButton *)[alertView viewWithTag:11];
[btn setTitle:@"yes" forState:UIControlStateNormal];
[btn addTarget:self action:@selector(logout) forControlEvents:UIControlEventTouchDown];    
[Utilities displayCustomAlertForDelegate:self];

UIAlertView.m ファイル

  CGRect viewFrame    = self.frame;
  CGRect buttonFrame  = button.frame;
  if(self.numberOfBtns==2){

  CGRect labelFrame   = [self viewWithTag:15].frame;        
  button.frame    = CGRectMake(10, 0, 40, 30);
        button.hidden   = NO;

        //yes...
        btn          = (UIButton *)[self viewWithTag:11];       
        btn.frame    = CGRectMake(60, 0, 40, 30);
        btn.hidden   = NO;

        //no..    
        btn          = (UIButton *)[self viewWithTag:10];
        btn.hidden   = YES;


  }
4

3 に答える 3

1

あなたがしていたことは常に間違っていました。独自のサブビューを UIAlertView に追加することはできません。朗報です。iOS 7 では、その必要はありません。新しいカスタム トランジション アニメーション メカニズムを使用すると、アラート ビューとして動作する独自のビューを作成できますが、これはユーザーのビューであるため、次のように好きなものを自由に配置できます。

ここに画像の説明を入力

偽の「アラート ビュー」が、右側のスクリーン ショットで元のビューの前に浮かび、実際のアラート ビューと同じように、その背後の画面が暗くなることに注意してください。しかし、それは完全にカスタム コンテンツで構成されています。「実際の」アラート ビューに画像やスイッチを含めることはできません。

このビューを作成するコードについては、自分の目的に合わせて簡単に調整できます。私の github サイト: https://github.com/mattneub/custom-alert-view-iOS7を参照してください。

于 2014-01-11T20:04:56.033 に答える