Я хочу одним касанием закрыть UIAlertView где-нибудь за его пределами. Я хочу показать UIAlertView без какой-либо кнопки.
У меня здесь стандартные коды UIAlertView, но мне нужно указать, как их отклонить, если это возможно.
С UITouch? С UITapGestureRecognizer?
Спасибо.
РЕДАКТИРОВАТЬ:
в viewDidLoad
здесь инициализация alertview с именем «alert»
if (alert)
{
emptyview = [[UIView alloc]initWithFrame:CGRectMake(0,0,320,480)];
emptyview.backgroundColor = [UIColor clearColor];
[self.view addSubview:emptyview];
[emptyview addSubview:alert];
NSLog (@"emptyview is there!");
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];
[emptyview addGestureRecognizer:singleTap];
[singleTap release];
}
Но этот emptyview не отвечает вообще и не отвечает на селектор handleSingleTap, который я немного переписал:
-(void)handleSingleTap:(UITapGestureRecognizer *)sender{
[alert dismissWithClickedButtonIndex:0 animated:YES];
[emptyview removeFromSuperview];
}
Мне нужно, чтобы это пустое изображение отображало предупреждение, когда отображается предупреждение, тогда я могу отклонить предупреждение одним касанием.
Я пробовал:
if (alert)
{
emptyview = [[UIView alloc]initWithFrame:CGRectMake(0,0,320,480)];
emptyview.backgroundColor = [UIColor clearColor];
[self.view addSubview:emptyview];
[emptyview addSubview:alert];
NSLog (@"emptyview is there!");
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];
[alert addGestureRecognizer:singleTap];
[singleTap release];
}
Конечно, предупреждение действительно реагировало на функцию handleSingleTap. Что я сделал не так с emptyview?
ВТОРОЙ РЕДАКТИРОВАНИЕ:
В этом случае я хочу показать небольшое представление с объяснением после выбора слова, аналогичную функцию в приложении Kindle, если оно у вас есть. Может, мне стоит создать UIView вместо UIAlertView? Но маленький вид в приложении Kindle так хорош с тенью под ним, как это возможно?