我想创建一个由3部分组成的字符串:
例如:Thomas喜欢官方Stackoverflow页面
然后用户应该可以点击“托马斯'它将他重定向到Thomas的个人资料或者官方Stackoverflow页面'它将他重定向到帖子(应用程序内的某个地方)。当然,不同的部分可以有不同的格式。一个很好的例子是facebook应用程序,它显示了一些帖子或喜欢。
我会用autolayout
来做,但是app应该是i18n-ized,这意味着部分可以改变(愚蠢的例子:&#39;官方Stackoverflow页面被Thomas&#39;)所喜欢。< / p>
由于我要将这些部分放在一起,我想我可以使用NSAttributedString,它可以完美地用于布局,但我无法添加任何操作。
我读过这样的内容:Add tap event to IOS NSMutableAttributedString。但真的吗?这就是全部?还有其他办法吗?
我更喜欢在swift中工作的解决方案或想法(如果已经有一些豆荚,我喜欢使用它们而不是重新发明轮子)
答案 0 :(得分:0)
您可以为每个文本创建标签并执行以下操作:
UILabel *label = ...
label.userInteractionEnabled = YES;
UITapGestureRecognizer *tapGesture =
[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(labelTap)];
[label addGestureRecognizer:tapGesture];
然后将每个标签添加到具有适当布局约束的容器视图中,以对齐所有左侧或中心...
另一个想法是通过带有容器和3个带约束的标签的故事板来实现:
然后