So binden Sie eine UITableView in eine UIScrollview ein

Wie kann ich in einem UIViewController (der eine Tabellenansicht als Unteransicht enthält) Folgendes tun?

Ich habe anfangs einen UIViewController mit einem Vorschaubereich (UIView)

<code>//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];
</code>

Ich habe auch eine UITableView (und eine Suchleiste) hinzugefügt

<code>//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];
</code>

Bei diesem Setup ist mein Bildlaufbereich klein (nur statischer Bereich unterhalb des Vorschaubereichs)

Wie kann ich meinen Code so ändern, dass 1) ich die ganze Seite nach oben scrollen kann, dh Vorschaubereich und Tabellenansicht werden zusammen nach oben gescrollt. Der Inhalt in UITableView kann jedoch weiterhin gescrollt werden

BEARBEITEN:

Code für die UIScroll-Ansicht hinzugefügt. Für mich hat sich jedoch nichts geändert. Was ist los mit meinem Code?

<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];
</code>

Antworten auf die Frage(6)

Ihre Antwort auf die Frage