Tag Archives: 基础知识

UIAttributedString自动换行问题

网上搜了大半天,如出一辙的结果如下:

设置行间距和换行模式都是设置一个属性:kCTParagraphStyleAttributeName,这个属性里面又分为很多子

属性,其中就包括

kCTLineBreakByCharWrapping
kCTParagraphStyleSpecifierLineSpacingAdjustment

设置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//段落
    //line break
CTParagraphStyleSetting lineBreakMode;
CTLineBreakMode lineBreak = kCTLineBreakByCharWrapping; //换行模式
lineBreakMode.spec = kCTParagraphStyleSpecifierLineBreakMode;
lineBreakMode.value = &lineBreak;
lineBreakMode.valueSize = sizeof(CTLineBreakMode);
 
    //行间距
CTParagraphStyleSetting LineSpacing;
CGFloat spacing = 4.0;  //指定间距
LineSpacing.spec = kCTParagraphStyleSpecifierLineSpacingAdjustment;
LineSpacing.value = &spacing;
LineSpacing.valueSize = sizeof(CGFloat);
 
CTParagraphStyleSetting settings[] = {lineBreakMode,LineSpacing};
CTParagraphStyleRef paragraphStyle = CTParagraphStyleCreate(settings, 2);   //第二个参数为settings的长度
[attributedString addAttribute:(NSString *)kCTParagraphStyleAttributeName
                         value:(id)paragraphStyle
                         range:NSMakeRange(0, attributedString.length)];

[……]

继续阅读

创建带样式的字符串AttributedString(富文本)

1
2
3
4
+ (id)stringWithDefaultStyle:(NSString *)string kern:(CGFloat)kernValue
{
    NSNumber *kern = [NSNumber numberWithFloat:kernValue];
    NSNumber *und[......]<p class="read-more"><a href="https://www.yusian.com/blog/project/2014/08/09/232821615.html">继续阅读</a></p>

UITextField调整内容位置及左右视图LeftView、RightView

1
2
3
4
5
// 清除按钮左移一个单元
- (CGRect)clearButtonRectForBounds:(CGRect)bounds
{
    CGRect rect = [super clearButtonRectForBounds:bounds];
    if (_isReservedRightV[......]<p class="read-more"><a href="https://www.yusian.com/blog/project/2014/08/09/232329612.html">继续阅读</a></p>