Есть ли любой способ изменить кадр UIAlertView в iPhone или iPad. Я пытался изменить кадр в следующем методе делегата- (void)willPresentAlertView:(UIAlertView *)alertView;
но даже затем ширина Alertview осталась неизменной. И я думаю, что небольшой Alertview в iPad не будет иметь смысла. И я предполагаю, что должен быть способ достигнуть его, по крайней мере, в iPad.
Спасибо, krishnan.
Хм, этот код работает нормально (кроме случаев, когда вы пытаетесь уменьшить размер - в этом случае вы может получить некорректный рендеринг):
- (void)willPresentAlertView:(UIAlertView *)alertView {
alertView.frame = CGRectMake(x, y, width, height);
}
Возможно, вы забыли задать делегату UIAlertView
что-то вроде someAlertView.delegate = self;
ОБНОВЛЕНИЕ ↓
кодовая часть :
- (IBAction)go:(id)sender {
UIAlertView *alert = [[[UIAlertView alloc] initWithTitle:@"Title" message:@"Message" delegate:self cancelButtonTitle:nil
otherButtonTitles:nil] autorelease];
alert.delegate = self;
[alert show];
}
- (void)willPresentAlertView:(UIAlertView *)alertView {
alertView.frame = CGRectMake(5.f, 1.f, 100.f, 200.f);
}
Результат (на моем iPod): http://dl.dropbox.com/u/6455784/alert_view_frame.png