【问题标题】:Add url to OHAttributedLabel but shouldFollowLink delegate is not called将 url 添加到 OHAttributedLabel 但不调用 shouldFollowLink 委托
【发布时间】:2013-04-29 09:55:29
【问题描述】:

我将 URL 添加到 OHAttributedLabel 中的属性字符串(“忘记密码”链接到 www.xxx.com“)。一切看起来都很完美,除了当我点击那个字符串时,什么都没有发生。

它应该在 Safari 中打开该 URL。然后当我尝试添加委托方法时。

-(BOOL)attributedLabel:(OHAttributedLabel*)attributedLabel shouldFollowLink:(NSTextCheckingResult*)linkInfo

这个委托方法根本没有被调用。委托设置正确,因为我尝试了另一种委托方法并且它正在工作

  -(UIColor*)attributedLabel:(OHAttributedLabel*)attributedLabel colorForLink:(NSTextCheckingResult*)linkInfo underlineStyle:(int32_t*)underlineStyle; 

我通过 Interface builder 设置 UILabel 并将其类更改为 OHAtrributedLabel。这是我的代码

  //forgotLabel.text is "Forgot Password"
   NSMutableAttributedString *attr = [[NSMutableAttributedString alloc] initWithString:forgotLabel.text];

     [attr setLink:[NSURL URLWithString:@"http://www.yahoo.com"] range:NSMakeRange(0, attr.length)];

    //forgotLabel is OHAttributedLabel 
  forgotLabel.attributedText = attr
  forgotLabel.delegate = self;

有人可以帮忙吗?我不想使用 TTTAttributedLabel,因为在我的项目中,我在 tablecell 中使用了 OHAttributedLabel,它运行良好。所以我不想添加另一个几乎完全相同的第三部分组件。

提前致谢。

【问题讨论】:

    标签: ios uilabel nsattributedstring


    【解决方案1】:

    我自己通过添加解决了这个问题

       forgotLabel.catchTouchesOnLinksOnTouchBegan = YES;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-19
      • 1970-01-01
      • 2013-03-05
      相关资源
      最近更新 更多