diff --git a/iphone/Classes/TiUITableView.m b/iphone/Classes/TiUITableView.m index 556c4a557f3..c2dc5ffd844 100644 --- a/iphone/Classes/TiUITableView.m +++ b/iphone/Classes/TiUITableView.m @@ -318,6 +318,15 @@ - (id)init return self; } +- (void)cleanup:(id)unused +{ + if (searchController.isActive) { + searchController.active = NO; + } + + [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(dismissSearchController) object:nil]; +} + - (void)dealloc { if ([searchController isActive]) { diff --git a/iphone/Classes/TiUITableViewProxy.m b/iphone/Classes/TiUITableViewProxy.m index 98c78f6a097..dca5fe4545a 100644 --- a/iphone/Classes/TiUITableViewProxy.m +++ b/iphone/Classes/TiUITableViewProxy.m @@ -88,6 +88,14 @@ - (void)viewDidAttach } } +- (void)windowWillClose +{ + if ([self viewInitialized]) { + [self makeViewPerformSelector:@selector(cleanup:) withObject:nil createIfNeeded:NO waitUntilDone:YES]; + } + [super windowWillClose]; +} + - (void)gainFocus { [[self tableView] viewGetFocus];