iPhone - 5,1 (9B176)IOS Overlay View - Маскировка UITableViewController с целью частично маскировки UITableViewController
Я встречая непоследовательное поведение в наложении вид маски на вершине UITableViewController, как показано на рисунке ниже. Кто-нибудь столкнулся с этим поведением, если да, пожалуйста, предложите какие-либо решения?
Ниже приведен код, я использовал, чтобы добавить вид маски:
//Add the overlay view.
if(ovController == nil) {
NSString *cellIdentifier = @"overlayVC";
ovController = [[self storyboard] instantiateViewControllerWithIdentifier:cellIdentifier];
}
CGFloat yaxis = self.navigationController.navigationBar.frame.size.height;
CGFloat width = self.view.frame.size.width;
CGFloat height = self.view.frame.size.height;
CGRect frame = CGRectMake(0, yaxis, width, height);
ovController.view.frame = frame;
ovController.view.alpha = 0.85;
ovController.delegate = self;
UIView *aboveView = self.parentViewController.view;
[self.tableView insertSubview:ovController.view aboveSubview:aboveView];
Я также попытался
`[self.tableView insertSubview:ovController.view aboveSubview:self.tableView]`
Спасибо Нил. Часть вашего решения сработала. Но мне нужен маскированный вид с какой-то другой целью. Добавление подпрограммы в обработанное окно. [[appDelegate window] addSubview: ovController.view]; Однако я все еще удивляюсь, почему в случае UITableViewController вставка subview поверх табличного представления работает не так, как ожидалось. –
не знаю точной причины, но вы можете сделать это, вставив таблицу и загрузив представление в viewcontroller ... я думаю, вы поняли мою точку зрения –