How to embed a UITableView in a UIScrollview

ios, scroll, uiscrollview, uitableview, uiviewcontroller

Solution

i have a solution for you,

use only tableView is enough

make the "Preview View" as the HeaderView of your tableView

make the "Search Bar" as the Section Header View of your tableView

you can make it perfectly :)

Problem

How can I do the following in a UIViewController (containing a tableview as a subview) I initially have a UIViewController showing a preview section (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]; ``` I also added a UITableView (and a searchbar) below ``` //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]; ``` With this setup, my scrolling area is small (only static area below preview section) How can I modify my code such that 1) I can scroll the whole page upwards i.e. preview section and tableview will scroll up together 2) Scrolling as a whole will stop when the search bar reaches the top (below navbar) (see screenshot), but the contents in the UITableView is still scrollable EDIT: Added code for UIScroll view. However, nothing changed for me. What is wrong with my code? ``` //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]; ```

Original source