Ios 如何在UIScrollview中嵌入UITableView
如何在UIViewController(包含作为子视图的tableview)中执行以下操作 我最初有一个显示预览部分(UIView)的UIViewController 我还在下面添加了一个UITableView(和一个搜索栏) 使用此设置,我的滚动区域很小(只有预览部分下方的静态区域) 我如何修改我的代码以便 1) 我可以向上滚动整个页面,即预览部分和tableview将一起向上滚动 2) 当搜索栏到达顶部(导航栏下方)时,整体滚动将停止(请参见屏幕截图),但UITableView中的内容仍然可以滚动 编辑: 添加了UIScroll视图的代码。然而,对我来说,一切都没有改变。我的代码有什么问题Ios 如何在UIScrollview中嵌入UITableView,ios,uitableview,uiviewcontroller,uiscrollview,scroll,Ios,Uitableview,Uiviewcontroller,Uiscrollview,Scroll,如何在UIViewController(包含作为子视图的tableview)中执行以下操作 我最初有一个显示预览部分(UIView)的UIViewController 我还在下面添加了一个UITableView(和一个搜索栏) 使用此设置,我的滚动区域很小(只有预览部分下方的静态区域) 我如何修改我的代码以便 1) 我可以向上滚动整个页面,即预览部分和tableview将一起向上滚动 2) 当搜索栏到达顶部(导航栏下方)时,整体滚动将停止(请参见屏幕截图),但UITableView中的内容仍然
//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];
您必须将UITableView嵌入屏幕大小减去导航栏的UIScrollView中。将UIScrollView背景设置为clearColor,以使UITableView上方的内容保持可见。我有一个解决方案 只使用tableView就足够了
您可以将其完美地设置为:)无需任何花哨或定制,使用
UITableView
并使用UITableViewDelegate
中的tableView:viewForHeaderInSection:
将预览窗格设置为tableHeaderView
并将搜索字段设置为节头
在滚动事件期间,表格标题将从顶部滚动。
节标题浮动并在该节可见的整个时间内保持可见。如果您只有一个节,则节标题将始终存在。是的,您可以使用“tableView:ViewForHeaderSection”。或者您可以执行以下步骤: 1.禁用表格视图的滚动。 2.将高度约束设置为tableView和与其连接的IBOutlet。 3.重新加载数据之前,请计算表格高度<代码>heightConstraint.constant=(SingleTableViewCell的高度)*行数
scroll.contentSize = CGSizeMake(self.view.frame.size.width, self.view.frame.size.height);
它无法滚动,因为contentSize不够大。您需要将scrollView顶部内容的长度增加到总长度 嗨,谢谢你的回复。我为UIScroll视图添加了一些代码,但它对我不起作用,即与我最初的实现没有任何更改。你能帮我看一下我编辑过的问题吗?我在那里添加了uiscrollview代码。提前感谢你真的应该使用DBD/adali的解决方案,它比我的要好:)有人能给我解释一下吗??please@RaviOjha,请看下面DBD的答案。
//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];
scroll.contentSize = CGSizeMake(self.view.frame.size.width, self.view.frame.size.height);