Я добавляю UISearchBar выше UINavigationBar и устанавливаю UIsearchbar showCancelButton ДА, отлично работаю в iOS6, но в iOS7 не отображается кнопка отмены. Я использовал ниже фрагмент кода
UISearchBar *searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 600, 44)];
searchBar.showsCancelButton = YES;
searchBar.translucent = NO;
[searchBar setTintColor:[UIColor redColor]];
searchBar.backgroundColor = [UIColor yellowColor];
[self.navigationController.navigationBar addSubview:searchBar];