Проблема с пользовательским UIAlertView в Cocos2d - PullRequest
1 голос
/ 18 ноября 2011

enter image description here

Я пытаюсь положить кнопки поверх фонового изображения для UIAlertView в Cocos2d. Это не работает с кодом ниже. какие-либо предложения?

UIAlertView *Win=[[UIAlertView alloc] initWithTitle:@"You Win" message:nil delegate:self cancelButtonTitle:@"Next" otherButtonTitles:@"Replay",@"Quit", nil];
    UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(-50, -30, 400, 300)];

    NSString *path = [[NSString alloc] initWithString:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"levelcleared.png"]];
    UIImage *bkgImg = [[UIImage alloc] initWithContentsOfFile:path];


    UIImageView *imageView2 = [[UIImageView alloc] initWithFrame:CGRectMake(20, 200, 70, 70)];

    NSString *path2= [[NSString alloc] initWithString:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"alertviewhome.png"]];
    UIImage *bkgImg2 = [[UIImage alloc] initWithContentsOfFile:path2];

    imageView2.
    [imageView setImage:bkgImg];
    [imageView2 setImage:bkgImg2];

    [bkgImg release];
    [path release];

    [Win addSubview:imageView];
    [Win addSubview:imageView2];


    [imageView release];


    [Win show];
    [Win release];

1 Ответ

1 голос
/ 18 ноября 2011

Вы должны написать свое собственное представление, похожее на предупреждение (которое можно добавить в качестве подпредставления к любому виду, которое вы хотите отобразить поверх него), и не использовать UIAlertView для того, что вы пытаетесь сделать.

Документация Apple для UIAlertView гласит:

Иерархия представлений для этого класса является частной и не должна изменяться.

Для меня этоозначает, что если вы попытаетесь добавить подпредставления (например, кнопки или изображения или что-то еще), у вас, скорее всего, будут неожиданные / неожиданные / грубые результаты.

...