Jak osadzić UITableView w widoku UIScrollview

Jak mogę wykonać następujące czynności w kontrolerze UIViewController (zawierającym widok tabeli jako widok podrzędny)

Początkowo mam kontroler UIViewC pokazuje sekcję podglądu (UIView)

//Setup container for preview section
UIView *tempContainer = [[UIView alloc]initWithFrame:CGRectMake(0, 20, 320, 100)];
self.preview_answer_container = tempContainer;
self.preview_answer_container.backgroundColor = [UIColor clearColor];
[tempContainer release];
[self.view addSubview:self.preview_answer_container];

Dodałem również UITableView (i pasek wyszukiwania) poniżej

//setup tableview
UITableView *tempTable = [[UITableView alloc]initWithFrame:CGRectMake(0,44 ,320,self.view.frame.size.height - 44)];
self.tagFriendsTableView = tempTable;
self.tagFriendsTableView.delegate = self;
self.tagFriendsTableView.dataSource = self;
[tempTable release];

[self.view addSubview:self.tagFriendsTableView];

Dzięki tej konfiguracji mój obszar przewijania jest mały (tylko obszar statyczny poniżej sekcji podglądu)

Jak mogę zmodyfikować kod tak, że 1) Mogę przewinąć całą stronę w górę, tzn. Sekcja podglądu i widok tabeli przewinie się razem 2) Przewijanie jako całość zatrzyma się, gdy pasek wyszukiwania osiągnie górę (poniżej paska nawigacyjnego) (patrz zrzut ekranu), ale zawartość w UITableView jest wciąż przewijalna

EDYTOWAĆ:

Dodano kod do widoku UIScroll. Jednak nic się dla mnie nie zmieniło. Co jest nie tak z moim kodem?

//setup scroll view
UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];

//Search
UISearchBar *tempBar = [[UISearchBar alloc]initWithFrame:CGRectMake(0, 120 + 20, 320, 44)];
self.sBar = tempBar;
[tempBar release];
self.sBar.delegate = self;
self.sBar.tintColor = [UIColor colorWithHexString:@"#b6c0c7"];
self.sBar.placeholder = @"Search for FB and DM friends";

[scroll addSubview:sBar];

//setup tableview
UITableView *tempTable = [[UITableView alloc]initWithFrame:CGRectMake(0,144 + 20 + 20 ,320,self.view.frame.size.height - 144 - 20 - 20 - 44)];
self.tagFriendsTableView = tempTable;
self.tagFriendsTableView.delegate = self;
self.tagFriendsTableView.dataSource = self;
[tempTable release];

//Add the scroll view to the parent view
[scroll addSubview:self.tagFriendsTableView];

scroll.contentSize = CGSizeMake(self.view.frame.size.width, self.view.frame.size.height);
[self.view addSubview:scroll];
[scroll release];