我遇到了问题,我想我会要求更好的解决方案。
问题:我有一些UILabel和UITextfields是从一个句子动态生成的,例如:我希望用户在'come','come','comed'中选择填写'我_ _ _ _ _与你交谈'。 '_ _ _ _'将呈现为文本字段(单击它将触发选择器视图)。并且在一个句子中可能有更多的插槽。我想用多行显示句子,文本域位于两者之间。
当前解决方案:我将插槽和文字部分分开,计算每个部分的长度并在其后面添加文本字段,如果文本字段的长度加上现有文字部分的长度超过屏幕的总宽度,则文本字段被移动到下一行。但是,解决方案并不总是有效。有时长度计算错误,最后我在某行的末尾丢失了一个字母。
以前有人做过类似的事吗?我很乐意看到一些更简单,更安全的方法。谢谢!
答案 0 :(得分:0)
您应该查看自动布局和约束。他们使这种事情变得更加直截了当。您将构建一些设置所需几何的约束,系统将为您强制执行这些约束。