1

これは、uiAlertView でメッセージではなく別のコントロールを表示する方法についてよく寄せられる質問であることを知っています。ビューに画像があるアプリがあり、ユーザーがその画像をタップすると拡大したい。そのため、同じ画像を拡大して uialertview にポップアップするオプションがあります。私もそれを試してみると、適切な解決策ではありません。

以下は私のコードです

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NULL message:@"\n\n\n\n\n\n\n\n\n\n\n\n\n" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
UIImage *image = [UIImage imageNamed:@"GM00132002062125.png"];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
CGFloat imageHeight = 250;
CGFloat imageWidth = imageHeight * image.size.width / image.size.height;
imageView.frame = CGRectMake(floor((284 - imageWidth)/2), 47, imageWidth, imageHeight);
[alert addSubview:imageView];
[alert show];

ここでメッセージに \n\n を指定する必要があります。

ここに画像の説明を入力

メッセージでさらに\nを指定すると、OKでオーバーラップすることがわかります

ここに画像の説明を入力

これに対する特別な解決策はありません

ありがとう

4

1 に答える 1

1

この以下のコードを使用してください...

    UIImageView *imageView = [[UIImageView alloc] initWithFrame:setYourFrameHere];

    NSString *imgPath = [[NSString alloc] initWithString:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"GM00132002062125.png"]];
    UIImage *yourImage = [[UIImage alloc] initWithContentsOfFile:imgPath];
    [imageView setImage:yourImage];
    [yourImage release];
    [imgPath release];

    [alert addSubview:imageView];
    [imageView release];

    [alert show];
    [alert release];

アップデート:

画像またはビューのカスタムビューを中央に配置するには、このタイプの以下のコードを使用します。これを試してください...

myCustomView.frame = CGRectMake(floorf(backgroundView.size.width - customView.size.width / 2.0f), 0.0, myCustomView.size.widht, myCustomView.size.height);
于 2013-01-07T11:38:38.280 に答える