22

私はiTunesストアでいくつかのUILabelUIWebViewを表示するアプリケーションを持っていますUIAlertView。セッションビデオによると、addSubViewforは動作しUIAlertViewません。彼らは話しましたContentView。しかし、GM Seeds SDK では、そのプロパティを見つけることができず、他に方法がないようです。

私にできる唯一のことは、 のカスタム サブクラスを作成して、 のUIViewように動作させることUIAertViewです。他の簡単な解決策を提案できますか?

助けてくれてありがとう。

4

6 に答える 6

103

iOS7 では、 accessoryViewcustomContentViewに実際に変更できます(iOS8 でも同様のようです)。

[alertView setValue:customContentView forKey:@"accessoryView"];

このコードを試してください:

UIAlertView *av = [[UIAlertView alloc] initWithTitle:@"TEST" message:@"subview" delegate:nil cancelButtonTitle:@"NO" otherButtonTitles:@"YES", nil];
UIView *v = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 80, 40)];
[av setValue:v forKey:@"accessoryView"];
v.backgroundColor = [UIColor yellowColor];
[av show];

呼び出しの前にカスタムaccessoryViewを設定する必要があることに注意してください[alertView show]

ここに画像の説明を入力

于 2014-01-11T20:25:11.010 に答える
-1

あなたがそれを使うなら、あなたも助けを得ると思います:)

syncProgressBarView = [[UIProgressView alloc]initWithProgressViewStyle:UIProgressViewStyleDefault];
syncProgressBarView.frame =CGRectMake(20, 55, 250, 20);
[syncProgressBarView setProgress:0.0f animated:NO];
syncProgressBarView.backgroundColor =[UIColor clearColor];
[progressView addSubview:syncProgressBarView];

サブビュー用の新しいビューを作成する UIProgressView

progressView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, DeviceWidth, 100)];
[[UIApplication sharedApplication].keyWindow addSubview:progressView];
progressView.backgroundColor = [UIColor clearColor];
progressView.center = [UIApplication sharedApplication].keyWindow.center;
syncProgressBarView.frame = CGRectMake(progressView.frame.size.width/2 - 250/2, progressView.frame.size.height/2 - 10, 250, 20);
[[UIApplication sharedApplication].keyWindow bringSubviewToFront:[progressView superview]];

あなたがしなければならないもう一つのこと...

dispatch_async(dispatch_get_main_queue(), ^{
                [self updateProgressBar];
            });
于 2013-10-30T05:32:55.290 に答える