ios UITextView 添加链接 垂直居中和水平居中

本文介绍了如何在iOS应用中使用Swift使UITextView的内容实现水平和垂直居中,并详细讲解了向TextView添加链接的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

水平居中


 

let fixedHeight =  textView.frame.size.height

let newSize =  textView.sizeThatFits(CGSize(width: CGFloat.greatestFiniteMagnitude, height: fixedHeight))

textView.frame.size = CGSize(width: newSize.width, height: max(newSize.height,fixedHeight))

textView.center=CGPoint(x: self.view.frame.size.width/2, y:  textView.center.y)

 

垂直居中

let fixedWidth =  textView.frame.size.width

let newSize =  textView.sizeThatFits(CGSize(width:fixedHeight, height:  CGFloat.greatestFiniteMagnitude))

textView.frame.size = CGSize(width:  max(newSize.width,fixedWidth), height: newSize.height)

textView.center=CGPoint(x: textView.center.x, y: hintTv.frame.minY+self.view.frame.size.height/2)

 

增加链接方法

extension UITextView {

    //添加链接文本(链接为空时则表示普通文本)

    func appendLinkString(string:String, withURLString:String = "") {

        //原来的文本内容

        let attrString:NSMutableAttributedString = NSMutableAttributedString()

        attrString.append(self.attributedText)

        //新增的文本内容(使用默认设置的字体样式)

        let attrs = [NSAttributedString.Key.font : self.font!,NSAttributedString.Key.foregroundColor:UIColor(red: 182/255, green: 195/255, blue: 217/255, alpha: 1.0)]// UIColor(red:254/255.0, green:185/255.0, blue:19/255.0, alpha: 1)]

        let appendString = NSMutableAttributedString(string: string, attributes:attrs)

        //判断是否是链接文字

        if withURLString != "" {

            let range:NSRange = NSMakeRange(0, appendString.length)

            appendString.beginEditing()

            appendString.addAttribute(NSAttributedString.Key.link, value:withURLString, range:range)

            

            appendString.endEditing()

            

        }

        //合并新的文本

        attrString.append(appendString)

        //设置合并后的文本

        self.attributedText = attrString

       //修改链接颜色

        self.linkTextAttributes=[NSAttributedString.Key.foregroundColor:UIColor(red: 254/255, green: 185/255, blue: 19/255, alpha: 1.0)]

    }

    

}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值