`
wang_peng1
  • 浏览: 3944584 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

设置buuton等View的字体颜色

 
阅读更多
#import <Cocoa/Cocoa.h>
@interface NSButton (TextColor)

- (NSColor *)textColor;
- (void)setTextColor:(NSColor *)textColor;

@end

#import "NSButton+TextColor.h"
@implementation NSButton (TextColor)

- (NSColor *)textColor
{
    NSAttributedString *attrTitle = [self attributedTitle];
    int len = [attrTitle length];
    NSRange range = NSMakeRange(0, MIN(len, 1)); // take color from first char
    NSDictionary *attrs = [attrTitle fontAttributesInRange:range];
    NSColor *textColor = [NSColor controlTextColor];
    if (attrs) {
        textColor = [attrs objectForKey:NSForegroundColorAttributeName];
    }
    return textColor;
}

- (void)setTextColor:(NSColor *)textColor
{
    NSMutableAttributedString *attrTitle = [[NSMutableAttributedString alloc] 
                                 initWithAttributedString:[self attributedTitle]];
    int len = [attrTitle length];
    NSRange range = NSMakeRange(0, len);
    [attrTitle addAttribute:NSForegroundColorAttributeName 
                      value:textColor 
                      range:range];
    [attrTitle fixAttributesInRange:range];
    [self setAttributedTitle:attrTitle];
    [attrTitle release];
}

@end

 

分享到:
评论

相关推荐

    android动态设置TextView字体颜色

    总之,动态设置TextView字体颜色是Android开发中的基础技能,涉及到的方法包括`setTextColor()`、`ForegroundColorSpan`、`ColorStateList`等。理解并熟练运用这些工具,可以帮助开发者创建更丰富、更具交互性的用户...

    android 修改listview的不同item字体的颜色

    3. **颜色资源**:Android提供了多种方式设置颜色,如使用颜色常量(如`Color.RED`、`Color.BLACK`),或者使用颜色资源ID(如`R.color.my_color`)。颜色资源可以在`res/color`目录下定义。 4. **性能优化**:为了...

    Flutter 透明状态栏及字体颜色的设置方法

    本文详细介绍了 Flutter 透明状态栏及字体颜色的设置方法,包括使用 `SystemUiOverlayStyle` 对象、`AppBar` 组件和 `AnnotatedRegion` 组件等方式。这些方法可以根据实际情况选择使用,以满足不同场景下的需求。

    改变字体颜色大小通过vc操作编程 改变字体大小颜色

    我们将主要关注以下几个方面:文本输出、颜色处理和字体设置。 首先,让我们了解VC++中的文本输出。在Windows编程中,通常使用GDI(Graphics Device Interface)库来绘制文本。`CDC`(设备上下文类)是VC++中用于...

    cxGrid导出到excel中字体颜色等及cxSheet使用

    3. **样式设置**:cxSheet支持设置单元格样式,包括字体、颜色、对齐方式等。例如,`cxSheet.CellsFormat.Font.Color := clBlue;` 用于设置字体颜色。 4. **公式计算**:cxSheet支持Excel兼容的公式计算。在单元格...

    字体颜色改变

    在Android应用开发中,改变...总的来说,改变TextView和Button的字体颜色是Android开发中的基础操作,涉及到XML布局、颜色资源、以及事件监听等概念。通过灵活运用这些知识,开发者可以创建出丰富多彩的用户界面。

    给TextView设置字体样式的三种方法

    在这里,我们设置了TextView的字体类型为等宽字体(monospace)。 ### 方法三:使用自定义样式 如果你希望在整个应用中统一字体样式,可以创建一个自定义样式,并在主题中应用。首先,定义一个样式资源: ```xml ...

    MFC对文本框中改变编辑框的大小与颜色[VS2010]

    你可以创建一个CRichEditCtrl对象替换CEdit,并使用SetBackgroundColor和SetSelectionCharFormat等函数来设置颜色。 3. **使用VS2010的MFC特性**: - VS2010的MFC支持属性页(Property Pages),可以在对话框中...

    android listView 改变选中行的 字体颜色和 图片

    - 在自定义Adapter中,重写`getView()`方法,该方法负责为ListView的每个项创建或复用视图,并根据需要设置字体颜色和图片。 4. **在getView()中设置状态**: - 在`getView()`内部,可以通过检查视图的`...

    自定义控件字体颜色的资源

    如果你希望创建一个可复用的自定义控件,可以在自定义View类中设置字体颜色。首先,定义一个颜色属性,将其添加到` attrs.xml` 文件中: ```xml ``` 接着,在自定义View类中解析这个属性: ```java ...

    同一个textview,字体颜色不一样

    标题"同一个textview,字体颜色不一样"和描述"android中TextView分段显示不同颜色,字体,时间"所提到的问题,就是如何在一个`TextView`中实现文本分段样式。 首先,我们可以使用`SpannableString`和`Spanned`接口...

    Android 改变系统状态栏颜色和字体

    这段代码会将状态栏设置为亮色模式,字体颜色会变为白色。 五、ChangeStatusColor-Android-master项目 根据提供的压缩包文件名称,ChangeStatusColor-Android-master很可能是包含了一个示例项目的源代码,该项目...

    在listview中使用不同的字体或颜色.zip

    在自定义Adapter中,我们可以为每个列表项设置不同的字体和颜色。以下是一个简单的自定义Adapter示例: ```java public class CustomListAdapter extends ArrayAdapter&lt;String&gt; { private Context context; ...

    安卓改变字体和背景颜色

    - **第三方应用**:如Go字体、百度字体等应用提供了大量的免费和付费字体资源,用户下载后可以在应用内更换手机字体。 - **修改系统文件**:对于高级用户,可以通过获取root权限,修改系统字体文件(如system/...

    修改程序所有页面字体颜色和背景

    SharedPreferences是Android中用于存储轻量级数据的一种机制,常用于保存用户的偏好设置,如字体颜色、字体大小等。当用户在应用中更改这些设置时,可以调用SharedPreferences API来更新存储的值,并在应用启动或...

    iOS开发技巧之状态栏字体颜色的设置方法

    在本文中,我们详细介绍了iOS开发技巧之状态栏字体颜色的设置方法,包括在info.plist中设置、在个别VC中设置、使用preferredStatusBarStyle方法设置、解决状态栏字体颜色不一致的问题等。开发者可以根据实际情况选择...

    OC-WKWebView(Html修改字体颜色)

    要修改字体颜色,可以使用CSS(层叠样式表)来控制文本的样式。例如,以下HTML代码将文本颜色设置为红色: ```html &lt;!DOCTYPE html&gt; body { color: red; } 这里的文字将是红色的。 ``` 在Objective-...

    小程序scroll-view与css左右滑动超出部分背景颜色不显示的解决方法

    1. **检查样式覆盖**:确保`scroll-view`的背景颜色设置没有被其他更具体的CSS规则覆盖。可以使用开发者工具查看元素样式,找出可能冲突的样式并进行调整。 2. **透明滚动条处理**:如果是因为透明滚动条导致的问题...

    仿微信改变app的字体大小功能,设置应用字体大小

    然而,这种方法对于动态加载的网络数据(如新闻、评论等)可能需要额外处理,例如在获取到数据后根据当前字体大小进行重新排版。此外,为了确保所有文本都能正确适配,建议在布局文件中使用sp作为单位,而不是dp,...

    Android系统更改状态栏字体颜色

    -- 设置statusBar的字体颜色 --&gt; &lt;item name="android:windowLightStatusBar"&gt;true ``` 当`android:windowLightStatusBar`设置为`true`时,状态栏背景为浅色时,字体颜色会自动变为深色;若设置为`false`,则...

Global site tag (gtag.js) - Google Analytics