Для моего приложения у меня есть UIToolBar, который появляется над UIWebView. То, что я пытаюсь сделать, - удалить панель инструментов и веб-представление из супервизора при нажатии UIBarButtonItem в панели инструментов.Виды не удаляются из Superview при вызове метода Selector
Я сделал инструмент-бар и веб-просмотра свойств моего ViewController так:
@property (nonatomic, weak) UIToolbar *toolBar;
@property (nonatomic, weak) UIWebView *webView;
Эти представления должны быть удалены, когда ниже метод называется
// Remove the toolbar and the webview
- (void)hideToolbarAndWebView
{
[_toolBar removeFromSuperview];
[_webView removeFromSuperview];
NSLog(@"Button clicked");
}
Ниже я сначала создаю элемент с бара-кнопками и назначаю действие как метод hideToolbarAndWebView:
// Create a bar button and add it to the toolbar. Action is to dismiss the tool-bar and thew web-view.
UIBarButtonItem *closeButton = [[UIBarButtonItem alloc] initWithTitle:@"Close" style:UIBarButtonItemStylePlain target:self action:@selector(hideToolbarAndWebView)];
Я знаю, что бар-кнопка успешно вызывает метод hideToolbarAndWebView посредством ведения журнала, но представления не удаляются из супервизора. Как это исправить?
EDIT Ниже приведен код, в котором создана панель инструментов. Он находится внутри метода, называемого showToolbar
, который вызывается из AppDelegate.
// Create a toolbar
UIToolbar *toolBar = [[UIToolbar alloc] initWithFrame:self.view.bounds];
toolBar.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
// Default height is 44 points, but seems to close to the status bar
toolBar.frame = CGRectMake(0, 0, CGRectGetWidth(self.view.bounds),64);
toolBar.barStyle = UIBarStyleBlackTranslucent;
[self.view addSubview:toolBar];
Ниже приведен код, который создает веб-вид и вызывает выше showToolbar
метод:
// Create a web view that displays the update info, and save settings for current version
SWWebViewController *webViewController = [[SWWebViewController alloc] init];
NSString *[email protected]"http://google.com";
webViewController.URL = url;
webViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self.navigationController presentViewController:webViewController animated:YES completion:nil];
[webViewController showToolbar];
'toolBar' и' webView' будет nil –
Вы правы @MidhunMP; Я просто проверял значение представлений с помощью NSLog. – narner
Как вы добавили их в свой интерфейс по коду? Если да, можете ли вы показать этот код? –