给label添加超链接等处理

//
//  HYBHyperlinkLabel.h
//  CloudShopping
//
//  Created by sixiaobo on 14-7-10.
//  Copyright (c) 2014年 com.Uni2uni. All rights reserved.
//

#import <UIKit/UIKit.h>

/*!
 * @brief 定制超链接标签,也就是上面是文字,下面是一条横线,可以指定颜色值,默认是蓝色,
 *        下划线会处在文字的正下方,宽度会根据文字自动调整,字体大小默认是13号字
 * @note  仅适用于单行超链接
 * @author huangyibiao
 */
@interface HYBHyperlinkLabel : UIView

@property (nonatomic, strong) UIColor *textColor;      // 文本颜色,默认是[UIColor blueColor]
@property (nonatomic, strong) UIColor *underlineColor; // 下划线颜色,默认是[UIColor blueColor]

- (id)initWithFrame:(CGRect)frame text:(NSString *)text;
- (id)initWithFrame:(CGRect)frame text:(NSString *)text font:(UIFont *)font;

- (id)initWithFrame:(CGRect)frame text:(NSString *)text textColor:(UIColor *)textColor;
- (id)initWithFrame:(CGRect)frame text:(NSString *)text textColor:(UIColor *)textColor font:(UIFont *)font;

- (id)initWithFrame:(CGRect)frame
               text:(NSString *)text
          textColor:(UIColor *)textColor
     underlineColor:(UIColor *)underlineColor;
- (id)initWithFrame:(CGRect)frame
               text:(NSString *)text
          textColor:(UIColor *)textColor
     underlineColor:(UIColor *)underlineColor
               font:(UIFont *)font;

// 如果需要在点击超链接的时候,可以处理响应,那么需要调用此方法来指定回调
- (void)addTarget:(id)target action:(SEL)action;

@end
//
//  HYBHyperlinkLabel.m
//  CloudShopping
//
//  Created by sixiaobo on 14-7-10.
//  Copyright (c) 2014年 com.Uni2uni. All rights reserved.
//

#import "HYBHyperlinkLabel.h"

@interface HYBHyperlinkLabel ()

@property (nonatomic, strong) UILabel *textLabel;      // 文本内容
@property (nonatomic, strong) UILabel *underlineLabel; // 下划线,默认高度为1px
@property (nonatomic, weak)   id      target;
@property (nonatomic, assign) SEL     action;

@end

@implementation HYBHyperlinkLabel

//
- (id)initWithFrame:(CGRect)frame text:(NSString *)text {
    return [self initWithFrame:frame text:text font:kFontWithSize(13)];
}

- (id)initWithFrame:(CGRect)frame text:(NSString *)text font:(UIFont *)font {
    return [self initWithFrame:frame
                          text:text
                     textColor:[UIColor blueColor]
                underlineColor:[UIColor blueColor]
                          font:font];
}

//
- (id)initWithFrame:(CGRect)frame text:(NSString *)text textColor:(UIColor *)textColor {
    return [self initWithFrame:frame text:text textColor:textColor font:kFontWithSize(13)];
}

- (id)initWithFrame:(CGRect)frame text:(NSString *)text textColor:(UIColor *)textColor font:(UIFont *)font {
    return [self initWithFrame:frame
                          text:text
                     textColor:textColor
                underlineColor:[UIColor blueColor]
                          font:font];
}

//
- (id)initWithFrame:(CGRect)frame
               text:(NSString *)text
          textColor:(UIColor *)textColor
     underlineColor:(UIColor *)underlineColor
               font:(UIFont *)font {
    // 以文字高度作为视图的高度
    CGSize size = [text sizeWithFont:font];
    frame.size.height = size.height;
    frame.size.width = size.width;

    if (self = [super initWithFrame:frame]) {
        self.textColor = textColor;
        self.underlineColor = underlineColor;

        CGRect rect = CGRectMake(0, 0, frame.size.width, frame.size.height);
        self.textLabel = [HYBUIMaker labelWithFrame:rect
                                               text:text
                                          textColor:textColor
                                               font:font];
        [self addSubview:self.textLabel];

        CGFloat originX = (self.textLabel.width - size.width) / 2;
        self.underlineLabel = [HYBUIMaker labelWithFrame:CGRectMake(originX, self.textLabel.bottomY,
                                                                    size.width, 0.8)];
        self.underlineLabel.backgroundColor = self.underlineColor;
        [self addSubview:self.underlineLabel];
    }
    return self;
}

- (id)initWithFrame:(CGRect)frame
               text:(NSString *)text
          textColor:(UIColor *)textColor
     underlineColor:(UIColor *)underlineColor {
    return [self initWithFrame:frame
                          text:text
                     textColor:textColor
                underlineColor:underlineColor
                          font:kFontWithSize(13)];
}

- (void)addTarget:(id)target action:(SEL)action {
    self.target = target;
    self.action = action;

    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:target action:action];
    [self addGestureRecognizer:tap];
    return;
}

@end
时间: 2024-11-17 03:50:32

给label添加超链接等处理的相关文章

dreamweaver如何添加超链接

  1.需要添加超链接的文字,选择"插入"菜单中的"超级链接"选项. 2."超级链接"对话框中,点击链接后的"文件夹"图标. 3.择想要链接的网页文件后点击"确定"按钮. 4.点击"确定"按钮后就可以成功添加超链接了.

PPT在幻灯片中添加超链接

  PPT在幻灯片中添加超链接的方法             怎么把ppt转成视频?好用的PPT转换器推荐:狸窝PPT转换器,一款能将PPT或者PPS等PowerPoint文档直接转换成RMVB,MP4,AVI等主流视频格式,可根据自己的需要将PPT转换成任意质量尺寸的视频. (官方了解:http://www.leawo.cn/) 在PowerPoint中我们可以使用以下两种方法来创建超链接:第一种:利用超链接按钮创建超链接.鼠标选中需要超链接的对象,例如:一下图片"狸窝 PPT转换器"

ppt如何为文本添加超链接

  ppt为文本添加超链接的方法: 打开ppt 2007,输入文字.如下图所示: [插入]菜单-[超链接].如下图所示: 选中文字并点击超链接,会弹出[超链接]对话框.如下图所示: 在地址处输入[地址]并点击确定即可.如下图所示: 超链接没有点击前默认是蓝色文字,打开超链接后超链接文字会变成紫色.如下图所示:

MindManager怎么在备注中添加超链接

  步骤一:在主题备注窗口中,点击要添加超链接的位置(如果选定文本或图像,选定的对象将变成"热门",点击时会打开超链接). 步骤二:在主题备注内部右击,点击添加超链接;或者在主题备注工具栏上,点击超链接,也可以按CTRL+K. 步骤三:定义超链接.此部分相关文章请参考MindManager15之添加超链接到文件或网页.如何在MindManager15中添加超链接到导图中主题.如何在MindManager2016中添加超链接到新建文档.如何在MindManager15中添加超链接到邮件地

MindManager怎么添加超链接到新建文档

  提示:由于MindManager2016只是MindManager15的更新版本,里面很多功能没有发生变化,超链接形式也还是一样,所以在2016版本中添加超链接可参考版本15的操作方法. 添加超链接到新建文档,该文档同时创建为超链接,可以立即添加内容到新建文档,也可以稍后进行编辑. 步骤一:选择主题,或点击备注中想要添加超链接的位置; 步骤二:在开始或插入选项卡上的主题元素组里,点击超链接;或者右击主题,点击添加超链接;也可以按CTRL+ Shift + K; 步骤三:在添加超链接对话框中点

PPT文档怎么给目录添加超链接?

  PPT文档怎么给目录添加超链接?         1.首先打开文档,选择其中一节建立超链接按钮.我们在这里选择第二节. 2.在ppt上方的插入中找到超链接按钮.图片中用蓝色标记的地方. 3.选中第二节那几个字,点击超链接按钮.会弹出一个对话框. 4.我们点击本文档中的位置或者电子邮件地址,在这里我们点击文档中的位置,会在右边出现文档中的课件内容.选择第二大节9的标题,图中红色标记.点击确定. 5.结束后我们会看到在刚开始选中的字发生了变化. 6.我们把幻灯片调成放映模式后,点击这几个字,幻灯

Excel表格添加超链接教程

  在我们使用Excel表格的过程中,有时候需要为表格内的内容添加网站地址的超链接,以方便引入相关的内容,这个时候,我们就需要使用到添加超链接的知识了.那么,怎么在Excel表格内添加超链接呢?一起来看看今天的Excel表格添加超链接教程,希望本教程可以帮到您! 首先选中需要添加超链接的单元格,在右击菜单中选中"超链接"选项. 打开"插入超链接"对话框,你可以输入网站地址,也可以选择本地的文件等,选择完成后点击"确定"按钮. 超链接添加完成后我们

取消Excel 2013的自动添加超链接功能

使用Excel很反感,Excel的自动添加超链接功能. 今天我来教你如何取消,该功能. 打开Excel文件,点击"文件"-"选项",如下图: 点击"选项"-"校对"-"自动更正选项",如下图: 取消"键入时自动套用格式"下的"Internet及网络路径替换为超链接"选项,如下图: Word也可以通过这样的设置,取消自动添加超链接功能.

c# 4.0-C# Lucene.Net对搜索结果添加超链接

问题描述 C# Lucene.Net对搜索结果添加超链接 我用lucene.net实现了搜索,想对标题添加超链接,就是点击标题后出现文档内容.我对文档的标题和内容是放在不同的域中分别存储的.我用下面的代码可以实现链接,但是只是在搜索内容的时候可以点开,都正常.但是如果搜索的关键字在标题中,就不能打开链接,而且搜出来的题目显示也不对,会把代码里的链接显示出来(比如我搜的是生物,结果显示就成了:_生物.xml"target=__blank">生物.xml_).怎么回_事?_ 解决方案