我在这个主题上发现了很多东西。我只是想在我的标签中出现的链接被自动检测为链接和超链接。我看过三个20项目TTtwitter,但这看起来很复杂,我不知道从哪里开始整合它。
有谁知道这是否可以通过简单的方式完成,还是有人可以尝试解释一下?
Thnx提前!
答案 0 :(得分:0)
建议您使用UIWebView
使用UIWebView
的以下属性来检测链接..
@property(nonatomic) UIDataDetectorTypes dataDetectorTypes
答案 1 :(得分:0)
您无法在UILabel或UIButtons中为文本加下划线。这是我在类似情况下所做的事情。
我想在视图中加下划线的文本看起来像一个链接,但我不想要UIWebView的功能,我需要标准的目标/动作UIControl功能。我所做的只有你想要显示的单行文本并且看起来像一个链接才有效。像使用标准UIButton一样使用它。您应该使用type = UIButtonTypeCustom。
创建我创建了一个UIButton的子类,它通过覆盖drawRect
来支持单行文本的下划线。我在子类中添加了BOOL _titleLabelUnderlined
iVar。
- (void)drawRect:(CGRect)rect
{
// just in case...
[super drawRect];
if (_titleLabelUnderlined) {
CGContextRef context = UIGraphicsGetCurrentContext();
// determine the size of the titleLabel text based on the font
CGSize textSize =[self.titleLabel.text sizeWithFont:self.titleLabel.font
forWidth:self.bounds.size.width
lineBreakMode:UILineBreakModeTailTruncation];
// set the underline color
CGContextSetStrokeColorWithColor(context, self.currentTitleColor.CGColor);
// line width
CGContextSetLineWidth(context, 1.0f);
// calc the start and end points for the line
CGFloat minX = self.titleLabel.center.x - textSize.width/2.0f;
CGFloat maxX = self.titleLabel.center.x + textSize.width/2.0f;
// start the line
CGContextMoveToPoint(context, minX, CGRectGetMinY(self.titleLabel.frame) + CGRectGetHeight(self.titleLabel.frame) + 1.0f);
// draw the line to the end point
CGContextAddLineToPoint(context, maxX, CGRectGetMinY(self.titleLabel.frame) + CGRectGetHeight(self.titleLabel.frame) + 1.0f);
// commit the drawing
CGContextStrokePath(context);
}
}