2016-01-13 75 views
1

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

任何帮助将是非常明显的。

谢谢

+0

您可以使用库中的集合视图来显示标签。 [链接](https://github.com/gtsif21/UITags)添加收藏视图作为tableview的标题 –

+0

你能解决它吗? –

回答

0

这可以通过将集合视图添加到表视图的标题。

  1. 创建一个数组,它将存储选定的行值。
  2. 重新加载或更新所选阵列数据的集合视图。
+0

感谢您的回答。是的,你的选择可以完成,但我想显示这些选择标签,就像我们显示所有的标签。那么是否有任何开源库或代码部分可以做到这一点? –

+0

选中此项:[STTweetLabel](https://github.com/SebastienThiebaud/STTweetLabel)和[ActiveLabel](https://github.com/optonaut/ActiveLabel.swift),看看您是否可以根据您的要求进行修改。此外:[TTTAttributedLabel](http://stackoverflow.com/questions/8839464/uilabel-string-as-text-and-links/8926077#8926077) –

+0

哪个解决方案完全解决您的问题? –

0

UITableViewStoryBoard的正上方有UIScrollView。 当你进入下面的方法- (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,以便滚动视图滚动到那里。

如果你需要更多的定制展示,滚动型标签,你可以有任何你想要的设计定制的UIView,然后添加到UILabelUIView。最后加上UIViewUIScrollView