Персонализирано действие на бутона Alertview не се извиква

Създавам персонализиран изглед за предупреждение с фоново изображение и един бутон (за отхвърляне на изгледа за предупреждение). Но действието на бутона не се обажда

въведете описание на изображението тук

ето моят код.

В .h файл

UIAlertView *alert;

В .m файл

alert = [[UIAlertView alloc] init];

            [alert setTitle:nil];
            [alert setMessage:nil];
            [alert setDelegate:self];


            UIImage *alertImage = [UIImage imageNamed:@"stopthegame.png"];
            UIImageView *backgroundImageView = [[UIImageView alloc] initWithImage :alertImage];

            backgroundImageView.frame = CGRectMake(0, 0, 282, 160);

            backgroundImageView.contentMode = UIViewContentModeScaleToFill;

            [alert addSubview:backgroundImageView];




   UIButton *alertok = [UIButton buttonWithType:UIButtonTypeCustom];


            alertok.frame = CGRectMake(105, 110, 75,40);

            UIImage *buttonImageNormal = [UIImage imageNamed:@"yesorno.png"];
            UIImage *strechableButtonImageNormal = [buttonImageNormal stretchableImageWithLeftCapWidth:12 topCapHeight:0];
            [alertok setBackgroundImage:strechableButtonImageNormal forState:UIControlStateNormal];
            UIImage *buttonImagePressed = [UIImage imageNamed:@"instructionok.png"];
            UIImage *strechableButtonImagePressed = [buttonImagePressed stretchableImageWithLeftCapWidth:12 topCapHeight:0];
            [alertok setBackgroundImage:strechableButtonImagePressed forState:UIControlStateHighlighted];

            [alertok setTitle:@"OK" forState:UIControlStateNormal];
            [alertok setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal ];


           [alert addSubview:alertok ]; 

[alertok addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];



 [alert show];

Ето кода за отхвърляне на предупреждението

- (IBAction)buttonClicked:(id)sender
{

    [alert dismissWithClickedButtonIndex:0 animated:YES];

}

някой моля да помогне. Благодаря предварително


person Siba Prasad Hota    schedule 27.03.2012    source източник
comment
Също така едно съмнение: Apple ще приеме този персонализиран изглед на предупреждение или не?   -  person Siba Prasad Hota    schedule 27.03.2012
comment
Защо ви е необходим бутон за отхвърляне на UIAlertView, ако имате родните?   -  person fabregas88    schedule 27.03.2012
comment
Дали методът buttonClicked: всъщност не се извиква или сигналът просто не се отхвърля?   -  person rosslebeau    schedule 27.03.2012
comment
Обърнете внимание, че инженерите на Apple изрично са заявили много пъти във видеоклипове на WWDC и във форумите за разработчици, че не трябва да се гмуркате в частни йерархии на подизгледи, както при UIAlertView. Трябва да пишете свой собствен персонализиран клас за изглед на предупреждение.   -  person Mike Weller    schedule 27.03.2012
comment
Да, това е вярно, защото тогава ще имате проблеми със съвместимостта. Така че или напишете свой собствен AlertView, както каза Майк, или използвайте UIAlertView. Ако трябва да знаете как да използвате UIAlertView, кажете ми и ще ви напиша пример.   -  person fabregas88    schedule 27.03.2012
comment
Благодаря на всички за отговора. Всъщност сигналът се показва, както изисквах (както на снимката), но не мога да го отхвърля. Има ли идея да го отхвърля?   -  person Siba Prasad Hota    schedule 28.03.2012


Отговори (1)


Нещо подобно създавате в потребителски подклас UIView и го извиквате, когато е необходимо. https://github.com/FreeApple/CustomAlertView

+(void)showCustomPop:(CustomAlertViewType)type inView:(UIView*)view WithTitle:(NSString    
*)title Message:(NSString *)message  actionButtonTitle:(NSString*)actionTitle 
action:(void*)sel cancelButtonTitle:(NSString *)cancelTitle;
person FreeAppl3    schedule 17.04.2012
comment
Благодаря за отговора. Но можете ли да изясните това с някои примерни кодове? - person Siba Prasad Hota; 17.04.2012
comment
Мога да се справя по-добре... Ето един примерен проект, който създадох. Не пускам това на обществеността, за да могат хората просто да го използват в своите проекти, но за да могат да се поучат от това, което съм научил. Ако все пак решите да използвате този или кода в който и да е от проектите си, моля, посочете правилно къде да го направите. Ето проекта github.com/FreeApple/CustomAlertView - person FreeAppl3; 18.04.2012