zoukankan      html  css  js  c++  java
  • Label上增加点击事件及下划线的方法


    CocoaChina的Mac开发区版主小yo的代码库中有相关问题的解决方法:
     
    http://code.google.com/p/cocoacontrollibrary/source/browse/trunk/FrameworkSource/HyperLinkButton.m
    "一般一个控件元素有下划线并有点击事件的话就应该是一个hyperlinkbutton
    
1) 用button来实现是最简单的,只需为button设置含下划线的string即可
    
2) label除了要设置string之外还要加点击事件"
     
     
    以下是修改字体的代码:
     
    - (void) updateButtonTitle
    {
    @try {
    NSString* titleString = [self title];
    NSMutableAttributedString *hyperLinkString = [[NSMutableAttributedString alloc] initWithString: titleString];
    NSRange selectedRange = {0, [hyperLinkString length]};
     
    NSDictionary *dict = [[self attributedTitle] attributesAtIndex:0 effectiveRange:&selectedRange];
    NSFont *font = [NSFont fontWithName:@"Arial" size:12];
     
    // if(dict && [dict objectForKey:@"NSFont"])
    // {
    // font = [dict objectForKey:@"NSFont"];
    // }
     
    [hyperLinkString beginEditing];
     
    [hyperLinkString addAttribute:NSForegroundColorAttributeName
    value:[NSColor colorWithCalibratedRed:0.8086 green:0.8086 blue:0.8086 alpha:1.0] // 更改颜色
    range:selectedRange];
     
    [hyperLinkString addAttribute:NSUnderlineStyleAttributeName
    value:[NSNumber numberWithInt:NSSingleUnderlineStyle] // 添加下化线
    range:selectedRange];
     
    [hyperLinkString addAttribute:NSFontAttributeName
    value:font
    range:selectedRange];
     
    [hyperLinkString endEditing];
     
    [self setAttributedTitle: hyperLinkString];
    [self sizeToFit];
     
    [hyperLinkString release];
    }
    @catch (NSException * e) {
     
    }
    @finally {
     
    }
    }
  • 相关阅读:
    SharePoint 2013 代码实现自定义的站点模版创建Site Collection
    today's learning of english 2
    拉普拉斯变换
    today's learning of english 1
    Kubernetes集群(RKE)安装ArgoCD排坑
    Jenkins Maven镜像Surefire插件运行失败
    Jenkins加载Spring扩展库出错排查
    Elasticsearch BM25相关度评分算法超详细解释
    简单方便的堡垒机自动登录脚本
    完美的Vim学习体验:VimReference
  • 原文地址:https://www.cnblogs.com/mac_arthur/p/1708366.html
Copyright © 2011-2022 走看看