`
119568242
  • 浏览: 426804 次
  • 性别: Icon_minigender_1
  • 来自: 深圳/湛江
社区版块
存档分类
最新评论

[ios]label增加边距-既左右对齐

    博客分类:
  • ios
 
阅读更多

http://www.cocoachina.com/bbs/read.php?tid=189979&page=2

 

谢谢各位了,找到问题的原因所在了。在NSAttributeString中找到了这句话。默认用来计算的字体和大小。
UIKIT_EXTERN NSString *const NSFontAttributeName NS_AVAILABLE_IOS(6_0);                // UIFont, default Helvetica(Neue) 12

吃亏就在这了,在所有计算方法里需要用到attributes这个参数的时候我都传nil,导致计算的大小和UILabel默认的字体大小不一致,计算出错。
附上我的最终效果和代码。



1
2
3
4
5
6
7
8
9
10
11
12
13
14
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 100, 300, 21)];
    label.backgroundColor = [UIColor orangeColor];
    [self.view addSubview:label];
     
    NSMutableAttributedString *attributeString = [[NSMutableAttributedString alloc] initWithString:@"TViewController"];
    //计算文字大小,参数一定要符合相应的字体和大小
    CGSize attributeSize = [attributeString.string sizeWithAttributes:@{NSFontAttributeName:label.font}];
    //计算字符间隔
    CGSize frame = label.frame.size;
    NSNumber *wordSpace = [NSNumber numberWithInt:(frame.width-attributeSize.width)/(attributeString.length-1)];
    //添加属性
    [attributeString addAttribute:NSKernAttributeName value:wordSpace range:NSMakeRange(0, attributeString.length)];
    
    label.attributedText = attributeString;


图片:QQ20140311-1@2x.png 
分享到:
评论

相关推荐

    (0099)-iOS/iPhone/iPAD/iPod源代码-标签(Label)-Scrolling Marquee Label

    let availableWidth = view.bounds.width - 20 // 假设20为左右的内边距 label.frame.size.width = min(textWidth, availableWidth) ``` 3. 创建一个定时器,每隔一段时间改变UILabel的frame,模拟滚动效果: ```...

    ios-动态创建多个标签,自动换行.zip

    - `label.textAlignment`: 设置标签的文本对齐方式,如`.center`、`.left`或`.right`。 - `UIEdgeInsets`: 可以通过设置标签的`contentEdgeInsets`属性来调整内部边距。 为了实现自动换行,我们需要设置`...

    [iOS开发教程-2]Customize that UIViewCell – Part 1: Using Interface Builder

    例如,可以改变Label的文字颜色、字体、对齐方式等,或设置ImageView的图像内容模式和填充方式。 为了实现更复杂的功能,我们可能需要在Cell中添加控件,如UIButton或UISwitch。这些控件可以绑定到特定的事件,比如...

    各种情况的label自适应

    在iOS开发中,UI设计和用户体验的细节至关重要,其中label(标签)的自适应布局是常见且关键的一环。UIlabel作为展示文本信息的主要控件,它的自适应能力能够确保内容在不同屏幕尺寸和文本长度下都能得到恰当的展示...

    字体镶边的Label控件

    2. **内边距**:为了确保文本内容不被边框遮挡,可能需要调整Label的内边距,这样文本与边框之间会有一个缓冲区域。这可以通过设置`contentEdgeInsets`属性(iOS)或`padding`属性(Android)来实现。 3. **圆角...

    UIButton,UILabel文字旋转(倾斜)

    在iOS开发中,经常需要对UI元素进行个性化定制,其中包括对文字的展示方式。本教程将深入探讨如何实现UIButton和UILabel的文字旋转(倾斜)效果,让应用界面更具吸引力和独特性。 首先,我们要理解旋转(倾斜)的...

    iOS利用Label实现的简单高性能标签TagView

    XWTagView的优势在于支持自定义标签外观,包括标签的边框宽度、颜色、连接样式、内边距、圆角、填充色、字体大小、颜色、上下和左右间距以及对齐方式。所有这些属性都可以通过XWTagMaker类进行设置,使得我们可以...

    react-native-flex-label

    "react-native-flex-label" 是一个特定于React Native的组件库,它提供了基于Flex布局的标签(Label)组件,用于在iOS和Android应用中展示文本内容。这个库特别强调了在跨平台上实现一致的、响应式的UI设计。 Flex...

    iOS页面 Autolayout

    例如,`H:|-10-[label]-10-[button]-|`表示标签和按钮之间的水平间距为10,且它们都与父视图边缘对齐。 - **NSLayoutConstraint**: 这是Autolayout的Objective-C/Swift类,用于编程方式创建和管理约束。通过设置其...

    UIView AutoLayout.zip

    4. **中心对齐和边距约束**:快速实现视图的中心对齐或者与边界的相对距离约束。 5. **自定义约束**:可能提供了扩展点,允许开发者添加自己的约束类型或逻辑。 使用`UIView AutoLayout`,开发者能够更高效地管理...

    label或者输入框textfField输入的字符串的大小宽度

    5. **行间距和边距**:`lineSpacing`属性用于设置行间距,增加行间距会使整个文本区域变高,但不会直接影响宽度。然而,内部边距(如`contentEdgeInsets`)会改变控件的实际尺寸,包括宽度。 6. **自适应布局**:在...

    cocos2d-x的自定义字体之CCLabelBMFont

    在游戏开发领域,Cocos2d-x是一个广泛使用的2D游戏引擎,支持多种平台,包括iOS、Android、Windows等。本知识点将详细讲解如何在Cocos2d-x中实现自定义字体,特别是利用CCLabelBMFont类来创建位图字体(Bitmap Font...

    UILabel of UIKit

    例如,可以改变字体、颜色、边距等属性。 ```objective-c // 设置字体 UIFont *customFont = [UIFont systemFontOfSize:18]; label.font = customFont; // 设置颜色 UIColor *customColor = [UIColor blackColor];...

    深入理解IOS控件布局之Masonry布局框架

    Masonry布局框架是iOS开发中一个非常实用的第三方库,用于简化AutoLayout的代码编写,提高了布局效率并增强了代码的可读性。在早期的iOS开发中,开发者通常使用xib或storyboard文件来设计界面布局,或者依赖于...

    iphone 开发基础控件UILable

    在iOS开发中,`UILabel`是极为重要且基础的一个控件,它用于显示单行或多行的静态文本。本教程将面向初学者,详细介绍`UILabel`的常用属性及其设置方法,帮助开发者快速掌握这一核心组件。 `UILabel`的创建: 在iOS...

    UILabelLineSwift

    在iOS应用开发中,UILabel是用于显示单行或多行文本的常见控件。"UILabelLineSwift"项目专注于在Swift中实现UILabel的上中下画线功能,这在设计用户界面时有时是必要的,例如用于创建分隔符或者强调文本。在Swift中...

    libgdx 优美字体的绘制

    在游戏开发领域,libGDX 是一款非常流行的开源游戏框架,它支持跨平台开发,包括Android、iOS、桌面系统等。对于游戏中的文本显示,美观的字体是至关重要的,能够提升游戏的整体视觉体验。本篇文章将深入探讨如何...

    blogCode:博客上涉及的代码

    在iOS应用开发中,UI界面的设计往往需要考虑不同设备屏幕尺寸的适配,UILabel和UIImageView的自适应长度以及居中对齐是常见的需求。 首先,我们需要理解UILabel。UILabel用于显示单行或多行文本,可以设置字体、...

    手机APP注册页面设计html模板_手机 注册 css3 设计 app html 表单 responsive.rar

    同时,它还用于控制字体、颜色、边距、对齐方式等,提升界面美观度。例如,使用`border-radius`属性可以创建圆角输入框,`box-shadow`添加阴影效果,`transition`和`animation`实现交互反馈。 3. 响应式布局: 响应...

Global site tag (gtag.js) - Google Analytics