草庐IT

uiLabel1

全部标签

swift - 如何在不使用 UITextView 的 UILabel 中检测和创建可点击链接

我正在构建一个聊天应用程序,出于性能原因,我需要使用UILabel而不是UITextView来显示聊天消息。我以前使用过TextView,但滚动时的数据检测非常缓慢且不稳定。问题是目前没有链接/电话/地址等...检测UILabel。我如何知道链接或电话号码在字符串中的位置,然后在UILabel中突出显示并使其可点击?我已经阅读了很多关于如何为链接添加属性来做到这一点的文章,但它们都是您知道范围或子字符串的链接。我想获取任何字符串并找出它是否包含链接以及这些链接在哪里,然后将tapGestureRecognizer添加到标签并根据发生点击的位置执行操作。我尝试合并一个外部库(TTTAtr

ios - 在 Swift 中,如何获取 UILabel 文本基线的 y 位置?

我正在尝试获取UILabel文本的准确基线。label.frame.maxY返回UILabel的box的最大y值。但我真正想要的是文本位置的最大值。忽略“按钮”。我刚刚从谷歌搜索了这张图片。我知道如何获得第一个返回值(maxY),但我想知道如何获得第二个返回值(虚线位于文本下方)。感谢您的帮助! 最佳答案 你可以很简单地实现这一点:letbaselineY=label.frame.origin.y+label.font.ascender; 关于ios-在Swift中,如何获取UILabe

swift - 覆盖 UILabel setText : method in Swift

我确实遇到了一个问题,我在使用UILabel子类的iOS中遇到了一些崩溃。现在我想覆盖setText:以调用layoutIfNeeded因为这可能会根据一些stackoverflow-answers(e.g.thisone)解决问题。但是我怎样才能做到这一点呢?在Objective-C中这没什么大不了的,但我找不到在Swift中覆盖setText:的方法。 最佳答案 覆盖属性text并在didSet中提供代码,当设置text属性时将执行该代码:classMyLabel:UILabel{overridepublicvartext:St

ios - 如何在 Swift 中触摸 UILabel 后对其进行编辑?

我想知道如何在应用程序运行时编辑文本标签。示例:将有一个名为“点击更改文本”的标签。当用户点击它时,它将变为可编辑状态,用户可以输入文本并进入。然后它将更改为新文本。我知道这可以使用UITextFieldDelegate来完成,但我不知道如何处理它,因为当用户触摸它时无法对标签进行操作。 最佳答案 您不能像编辑textField那样编辑标签,但是当用户单击标签时,您可以隐藏标签并取消隐藏textField,当用户完成输入文本时,您可以再次隐藏textField并取消隐藏标签,您可以通过这种方式将textField的文本分配给标签:i

ios - Swift,以编程方式更改 UICollectionViewCell 和 UILabel(在单元格内)的宽度

我已将单元格(UICollectionViewCell)的宽度设置为等于UICollectionView的宽度,并且我正在尝试对包含在该单元格中的UILabel执行完全相同的操作。我认为下面的代码准确地解释了我想要实现的目标。所以我在SO中阅读了一些问题以及一些教程,但我仍然不确定如何实现这一目标。在几个问题中,它是关于使用collectionViewLayout的,但我真的很纠结如何在我的代码中使用它。有任何想法吗?谢谢!funccollectionView(collectionView:UICollectionView,cellForItemAtIndexPathindexPath

ios - 将 IBDesignable 和 prepareForInterfaceBuilder 与 UILabel 一起使用

我正在创建一个名为MyView的UIView子类。其中有一个UILabel(由于某些原因,这是在代码中添加的,而不是在InterfaceBuilder中添加的)。然后我在MyView上有一个名为color的属性。我想要的是让InterfaceBuilder能够选择颜色,然后显示字体设置为该颜色的标签。在我的代码中我有...@IBDesignableclassMyView:UIView{privatelettextLabel=UILabel()@IBInspectablevarcolor:UIColor=.blackColor(){didSet{textLabel.textColor=c

ios - 使用 Swift 制作可点击的 UILabel

我想使用Swift在UILabel文本中设置可点击的特定单词。这可能吗?如果这里有多个标签,我如何检测按下了哪个词? 最佳答案 你不能用简单的标签来做。github中有可用的库。https://github.com/TTTAttributedLabel/TTTAttributedLabel由此您可以使用名为yourLabel.addLinkToURL()的方法classViewController:UIViewController,TTTAttributedLabelDelegate{@IBOutletvarlbl:TTTAttri

ios - UILabel 子类使用自定义颜色初始化

我的目标是在我的ViewController中设置自定义UILabel子类的textColor。我有一个名为CircleLabel的UILabel子类。以下是它的基础知识:classCircleLabel:UILabel{requiredinit(coderaDecoder:NSCoder){super.init(coder:aDecoder)!}overrideinit(frame:CGRect){super.init(frame:frame)}overridefuncdrawRect(rect:CGRect){self.layer.cornerRadius=self.bounds.

swift - 设置文本以适合 UILabel 的大小并在 SWIFT 中居中

我正在尝试将文本设置为适合UILabel的大小并居中。我正在以编程方式执行此操作。这是它目前的样子:如您所见,文本超出了屏幕并且也没有居中。这是我的代码:letquestions="Loremipsumdolorsitamet,consecteturadipiscingelit.Donecacfaucibustellus."questionsLabel=UILabel(frame:CGRectMake(10,10,questionsView.frame.size.width-20,80))questionsLabel.text=questionsquestionsLabel.font=

ios - 如何将 UILabel 的属性反射(reflect)给另一个?

我正在尝试动态自定义UITableViewController。所以我更改了cell.textLabel的许多属性。现在我想将这些属性复制到detailTextLabel和我通过代码创建的一个标签。如何实现?cell.textLabel.backgroundColor=[UIColorcolorWithRed:0green:0.188235blue:0.313725alpha:1];cell.textLabel.textColor=[UIColorwhiteColor];cell.textLabel.font=[UIFontfontWithName:@"HelveticaNeue"si