У меня есть UINavigationController / UITableView, и я хочу представить UIView поверх него, когда таблица пуста, чтобы дать пользователю подсказку о том, как добавить элементы в таблицу.
Я никогда не делал UIView (в отличие от UIViewController прежде), поэтому я сделаю шаг за шагом, чтобы сделать это:
- Создать новый класс UIView - MakeSentenceHelperView
- Создайте перо MakeSentenceHelperView.xib
- Установите для владельца файла MakeSentenceHelperView
Загрузите перо в MakeSentenceHelperView:
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
NSLog(@"makesentencehelperview init");
[[NSBundle mainBundle] loadNibNamed:@"MakeSentenceHelperView" owner:self options:nil];
}
return self;
}
ипредставьте MakeSentenceHelperView
в UITableViewController:
//present the placeholder view for sentences
MakeSentenceHelperView *makeSentenceHelperView = [[MakeSentenceHelperView alloc] init];
NSLog(@"present placeholder: self.navigationcontroller.view: %@", self.navigationController.view);
//Something like this:
[self.navigationController.view addSubview:makeSentenceHelperView];
[self.navigationController.view bringSubviewToFront:makeSentenceHelperView];
Класс загружается и регистрируется нормально, но ничего не появляется перед UITableView - где я ошибся?
ОБНОВЛЕНИЕ: если ядобавьте [self.tableView setHidden:YES];
, тогда табличное представление исчезнет, и пространство станет черным и пустым.Я предполагаю, что это означает, что я где-то неправильно настраиваю View.