在 TableView 和组中重新加载数据
我有一个普通的表视图,我想重新加载数据并使表与组分开,将表视图样式更改为组,我试图使用该方法为每个标题提供标题,但只有当我用它初始化,而不是在运行时进行更改,这可能吗,或者我必须加载另一个视图?
-(NSString *) tableView: (UITableView *) tableView titleForHeaderInSection: (NSInteger) section {
if(group){
switch (section) { case 0: return @"A"; break; case 1: return @"B"; break; case 2: return @"C"; break; case 3: return @"D"; break; case 4: return @"E"; break; } }return nil;
}
我尝试输入一个布尔值来验证重新加载数据的时间,但没有成功......
i have a normal table view, and i want to reload the data and make de table separated with groups changing the tableview style to group,i was trying to use the method to give a title for each header its goes ok,but only if i init with it,not for change in runtime, is that possible,or i have to load another view?
-(NSString *) tableView: (UITableView *) tableView titleForHeaderInSection: (NSInteger) section {
if(group){
switch (section) { case 0: return @"A"; break; case 1: return @"B"; break; case 2: return @"C"; break; case 3: return @"D"; break; case 4: return @"E"; break; } }return nil;
}
i try to put a boolean to verify the time to reload data but didnt work....
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
好吧,我认为
tableView:titleForHeaderInSection:
仅在加载UITableView
或重新加载时才会被调用。因此,如果您想在运行时更改它,您可以使用一个NSArray
来保存所有标题的标题,并让tableView:titleForHeaderInSection:
使用该数组。您可以在代码中的任意位置修改此数组。无论如何,您都必须调用
[YourTableView reload]
来启动委托并在视图中更新标题标题。我不知道您是否还需要以下信息,所以我将其留在这里。
要重新加载
UITableView
,您只需调用[YourTableView reload];
。至于组,这是
UITableView
样式。您可以通过Table View > 属性检查器中的 IB 修改此设置。风格>分组
。或者以编程方式在TableView
的init
中使用UITableViewStyleGrouped
。例如:
Well I think
tableView:titleForHeaderInSection:
only gets called when loading theUITableView
or when reloading it. So if you want to change it a runtime, you could have anNSArray
that holds the titles for all the headers and have thetableView:titleForHeaderInSection:
use that array.And you can modify this array wherever you want in your code. You would have to call
[YourTableView reload]
anyways to fire up the delegate and get the headers titles updated in your view.I don't know if you still need the information bellow so I'll leave it here.
To reload a
UITableView
all you have to do is call[YourTableView reload];
.As for groups, that's a
UITableView
style. You can modify this either through IB in the Attributes Inspector inTable View > Style > Grouped
. Or programmatically usingUITableViewStyleGrouped
in theTableView
'sinit
.For example: