【问题标题】:Adding dynamic tags with title to UITableView header将带有标题的动态标签添加到 UITableView 标题
【发布时间】:2016-01-13 07:50:19
【问题描述】:

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

任何帮助都会非常感激。

谢谢

【问题讨论】:

  • 您可以使用集合视图跟随库来显示标签。 link 将 Collection 视图添加为 tableview 的标题
  • 你解决了吗?

标签: ios objective-c uitableview header tags


【解决方案1】:

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

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

【讨论】:

  • 感谢您的回答。是的,您的选择可以完成,但我想将这些选择显示为标签,就像我们显示所有主题标签一样。那么是否有任何开源库或代码部分可以做到这一点?
  • 检查这个:STTweetLabelActiveLabel 看看你是否可以根据你的要求修改这些。还有这个:TTTAttributedLabel
【解决方案2】:

StoryBoard 中的UITableView 上方有一个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 进行任何您想要的自定义,然后将 UILabel 添加到 UIView。最后将此UIView 添加到UIScrollView

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-28
    • 1970-01-01
    • 2015-02-18
    • 2014-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-21
    相关资源
    最近更新 更多