2010-08-03 5 views
0

создать класс:Как добавить UITableView в UIAlertView?

@interface myUITableViewController: UIViewController { NSArray * ListData; } ...

и позже, я делаю так:

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:nil delegate:self cancelButtonTitle:nil otherButtonTitles:nil]; 

myUITableViewController *myUITable = [[myUITableViewController alloc] init]; 

[alert addSubview:myUITable.view]; 

[alert show]; 

После запуска, в результате, что размер myUITable.view является больше, чем предупреждение. Почему? Пожалуйста, скажите мне, знаете ли вы. Спасибо!

ответ

1

UIAlert на самом деле не предназначен для использования таким образом. Вы должны создать свой собственный UIView и добавить в него любой контент (таблица и кнопки). Затем обработайте, как он показывает и спрячется.

Даже если вам удастся правильно его показать, возможно, это может сломаться в будущем. В одном из моих приложений я показывал предупреждение с UITextField. Я создал для этого пробел, добавив в сообщение «\ n». В более поздних версиях iOS это перестало работать и выглядело очень ужасно ...

+0

Большое спасибо! – lqf

+1

Я не согласен. Приложение Yelp использует этот подход (для диалога «Вы имели в виду:»), и это выглядит великолепно. Я нашел аналогичный код по адресу http://codesofa.com/blog/archive/2009/07/15/look-uialertview-is-dating-uitableview.html. – tba

Смежные вопросы