在a中点击超链接是微不足道的UITextView.您只需在IB中的视图上设置"检测链接"复选框,它就会检测HTTP链接并将其转换为超链接.
但是,这仍然意味着用户看到的是"原始"链接.RTF文件和HTML都允许您设置一个用户可读的字符串,其中包含一个"后面"的链接.
可以很容易地将属性文本安装到文本视图中(或者,UILabel或者UITextField就此而言).但是,当该属性文本包含链接时,它不可单击.
有没有办法让用户可读的文本可以点击UITextView,UILabel或UITextField?
标记在SO上是不同的,但这是一般的想法.我想要的是这样的文字:
此变形是使用Face Dancer生成的,单击可在应用商店中查看.
我唯一能得到的是:
使用Face Dancer生成此变形,单击http://example.com/facedancer以在应用商店中查看.
我想在我的应用上创建一个可点击的标签,引导我访问Safari网页.我还希望用户只能通过点击来拨打电话号码?
谢谢你的建议
我有一个UILabel来自服务器的文本.一些文本将被标识为链接,并且在触摸这些链接时应该执行一些操作.例如
NSString*str = @"我的电话号码是645-345-2345,我的地址是xyz ";
这是完整的文本UILabel.我只有一个UILabel用于显示此文本(文本是动态的.我只是举了一个例子.).点击这些链接后,我需要执行操作,例如导航到某个不同的屏幕或拨打电话.
我知道我可以在OHAttributedLabel的帮助下显示这样的文字.链接可以显示如下:
[label1 addCustomLink:[NSURL URLWithString:@"http://www.foodreporter.net"] inRange:[txt rangeOfString:someString]];
Run Code Online (Sandbox Code Playgroud)
但我想知道如何让这些文本链接执行某些操作,如导航到不同的屏幕或拨打电话.
如果需要更多解释,请与我们联系.
我想打一个UILabel或UITextView一些文字在它2个可点击的链接.不是指向网页的链接,但我希望将这两个链接与我将使用的操作相关联UIButton.我见过的所有例子都是webviews的链接,但我不想这样.同样,文本将以其他语言翻译,因此位置必须是动态的.
想要这样做:

我有一个UITextView显示一个NSAttributedString.textView editable和selectable属性都设置为false.
attributionString包含一个URL,我想允许点击URL来打开浏览器.但只有在selectable属性设置为的 情况下才能与URL进行交互true.
如何仅允许用户交互来点击链接,而不是用于选择文本?
在iPhone应用程序中,我想在tableView中显示信息.在每个单元格中,文本如下:John最近听音乐abcdefg.mp3.如果需要,文本可以有两行.
在文本中,a.mp3应该是可点击的,因此当用户触摸abcdefg.mp3部分时,将调用另一个页面.当用户触摸abcdefg.mp3时,它也会有一些效果,就像触摸按钮一样.
我计算文本的框架,我使用UIButton为abcdefg.mp3.
有时abcdefg.mp3可能是多行的,例如:
abc位于第一行的末尾
defg.mp3在第二行.
在这种情况下我该怎么办?
我已经搜索过了:在UILabel的NSAttributedString中创建可点击的"链接"? 但是我认为它不适合这里,因为可点击文本全部在示例中的一行中.
对于a UILabel,我想知道从触摸事件接收的特定点处的哪个字符索引.我想使用Text Kit为iOS 7解决这个问题.
由于UILabel不提供对它的访问NSLayoutManager,我根据这样UILabel的配置创建了自己的:
- (void)textTapped:(UITapGestureRecognizer *)recognizer
{
if (recognizer.state == UIGestureRecognizerStateEnded) {
CGPoint location = [recognizer locationInView:self];
NSTextStorage *textStorage = [[NSTextStorage alloc] initWithAttributedString:self.attributedText];
NSLayoutManager *layoutManager = [[NSLayoutManager alloc] init];
[textStorage addLayoutManager:layoutManager];
NSTextContainer *textContainer = [[NSTextContainer alloc] initWithSize:self.bounds.size];
[layoutManager addTextContainer:textContainer];
textContainer.maximumNumberOfLines = self.numberOfLines;
textContainer.lineBreakMode = self.lineBreakMode;
NSUInteger characterIndex = [layoutManager characterIndexForPoint:location
inTextContainer:textContainer
fractionOfDistanceBetweenInsertionPoints:NULL];
if (characterIndex < textStorage.length) {
NSRange range = NSMakeRange(characterIndex, 1);
NSString *value = [self.text substringWithRange:range];
NSLog(@"%@, %zd, %zd", value, range.location, range.length); …Run Code Online (Sandbox Code Playgroud) 我有一个属性字符串UILabel,我能够为文本的某些部分着色
let text = "Why did \(event) give \(event2) a 5 stars review? Details here. "
let linkTextWithColor = "Why did"
let range = (text as NSString).rangeOfString(linkTextWithColor)
let attributedString = NSMutableAttributedString(string:text)
attributedString.addAttribute(NSForegroundColorAttributeName, value: UIColor.blackColor() , range: range)
labelEvent.attributedText = attributedString
Run Code Online (Sandbox Code Playgroud)
现在我想让文本的某些部分可以替换,比如UIButton,如何做到这一点?
例1
例2
我需要有蓝色文本来响应触摸,并运行一个特定的功能,如一个UIButton.非常感谢帮助,谢谢.
我正在尝试创建一个UITextView,hyperlink以便当用户点击链接时,他们将被safari 用来打开网页.我已阅读链接检测器,textview但如果文本中存在实际网址(即www.google.com),则这些样本始终显示链接检测有效.我希望它是常规文本,在单击时打开关联的URL.(即Google是文本,点击后会打开网址www.google.com).如何在iOS7/8中完成此操作?
我是iOS开发的新手.我不知道是否已经问过这个问题,我尝试在stackoverflow上搜索解决方案,但没有得到任何结果.
题 :
我有一个UILabel叫myLabel文字:"点击这里继续"
现在问题是我想在用户点击"点击"时执行操作.
我知道如何使用UITapGestureRecognizer,但它对整体有所回应UILabel.是否可以只检测用户何时只点击字符串"Click"?
ios ×7
objective-c ×6
uilabel ×5
iphone ×3
uitextview ×3
hyperlink ×1
ios7 ×1
ios8 ×1
nsstring ×1
swift ×1
textkit ×1
uibutton ×1
uitableview ×1
url ×1