gpt4 book ai didi

ios - 将 UIGestureRecognizer 添加到 UILabel 的各个字母

转载 作者:行者123 更新时间:2023-11-29 04:16:18 25 4
gpt4 key购买 nike

现在我正在制作一个 iOS 应用程序,我想实现通过简单地“删除字母”来删除 UILabel 中的字母的功能。我遇到问题的部分是将手势识别器添加到 UILabel 的各个字母中。我已经在网上搜索过这个内容,但一无所获。需要明确的是,我不会向整个标签添加手势识别器,我只想将其添加到单个字母中。非常感谢任何帮助。

谢谢

最佳答案

看来最简单的方法是动态计算字母的位置。使用这个:

CGSize textSize = [text sizeWithFont:[UIFont boldSystemFontOfSize:size]
constrainedToSize:constrainedSize
lineBreakMode:NSLineBreakByWordWrapping];

这样您就可以获得每个标签使用的字体和大小中字母的大小,并使用 [stringInstance length]属性(property)和[UILabel numberOfLines]属性来获取标签中每个字母的近似中心,然后为每个标签使用一个简单的 tapGestureRecognizer 并在其中调用您的方法

- (NSString*)letterForPoint:(CGPoint)tapCenter inLabel:(UILabel*)label;

您可以使用所有内容来计算每个字母的近似中心,并添加一个可选范围以用于错误和正确的用户响应,即 x +- 20 像素和 y +- 20 像素。

Apple 表示,任何可选边界小于 40 像素(40 像素)的内容都会让用户感到非常烦人,因此您的字体大小实际上应该很大,以便于用户交互。

关于ios - 将 UIGestureRecognizer 添加到 UILabel 的各个字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13654766/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com