添加标题为UITableView标头的动态标签

时间:2016-01-13 07:50:19

标签: ios objective-c uitableview header tags

当用户选择行时,我想将带有标题的动态标签添加到表视图标题中。 就像用户从表格视图中选择5个不同的城市一样,我想将这些选定的城市作为不同的标签添加到表格视图标题中,以便用户可以看到水平滚动或其他任何最适合的选项。 我怎样才能实现这样的功能?

任何帮助都会非常明显。

由于

2 个答案:

答案 0 :(得分:0)

这可以通过将Collection View添加到Table View的标题中来实现。

  1. 创建一个存储所选行值的数组。
  2. 使用选定的数组数据重新加载或更新集合视图。

答案 1 :(得分:0)

UIScrollView位于UITableView StoryBoard的正上方。 当您按照方法进入- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath方法调用时,

- (void)addLabel:(NSString *)cityName {

[array addObject:cityName];

UILabel * label = [[UILabel alloc] init];
label.frame = CGRectMake(array.count*44, 0, 44, 44);
label.text = cityName;
[sview addSubview:label];
[sview setContentSize:CGSizeMake(array.count*44, 44)];

}

  1. 此处数组是保存所选城市列表的对象
  2. UIScrollView是一个滚动视图,添加在故事板中的UITableView上方。
  3. 每次通过传递所选的cityName来调用addLabel方法时,请初始化具有所需属性的新UILabel并将其添加到UIScrollView。这里UILabel的'x'原点正在根据添加到数组的元素数量而变化。
  4. 最后将contentSize设置为UIScrollView,以便滚动视图滚动到那里。
  5. 如果您需要更多自定义功能来在scrollview中展示标签,则可以使用UIView添加所需的自定义内容,然后将UILabel添加到UIView。最后,将此UIView添加到UIScrollView