最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

matlab text字是竖着的,iOS

运维笔记admin82浏览0评论

matlab text字是竖着的,iOS

matlab text字是竖着的,iOS

Paste_Image.png

前言:

有的需求会给出文字竖排的方式,下面给出两种思路来实现这种效果.一是为UILabel添加分类,添加一个文字竖排的属性;而是为NSString添加分类,添加一个文字竖排的方法- (NSString *)VerticalString

方法一(UILabel添加分类):

#import

@interface UILabel (Extension)

@property (nonatomic) NSString *verticalText;

@end

#import "UILabel+Extension.h"

#import "objc/Runtime.h"

@implementation UILabel (Extension)

- (NSString *)verticalText{

// 利用runtime添加属性

return objc_getAssociatedObject(self, @selector(verticalText));

}

- (void)setVerticalText:(NSString *)verticalText{

objc_setAssociatedObject(self, &verticalText, verticalText, OBJC_ASSOCIATION_RETAIN_NONATOMIC);

NSMutableString *str = [[NSMutableString alloc] initWithString:verticalText];

NSInteger count = str.length;

for (int i = 1; i < count; i ++) {

[str insertString:@"\n" atIndex:i*2-1];

}

self.text = str;

self.numberOfLines = 0;

}

@end

具体用法如下:

NSString *string = @"北冥有鱼,其名为鲲。";

UILabel *label = [[UILabel alloc] initWithFrame:(CGRectMake(self.view.bounds.size.width * 0.5, 100, 300, 600))];

label.textColor = [UIColor redColor];

label.verticalText = string;

[label sizeToFit];//顶部显示

[self.view addSubview:label];

方法二(为NSSring添加分类):

#import

@interface NSString (Extension)

- (NSString *)VerticalString;

@end

#import "NSString+Extension.h"

@implementation NSString (Extension)

- (NSString *)VerticalString{

NSMutableString * str = [[NSMutableString alloc] initWithString:self];

NSInteger count = str.length;

for (int i = 1; i < count; i ++) {

[str insertString:@"\n" atIndex:i*2 - 1];

}

return str;

}

@end

具体用法如下:

NSString *verText = [@"北冥有鱼,其名为鲲。" VerticalString];

UILabel *label = [[UILabel alloc] initWithFrame:(CGRectMake(self.view.bounds.size.width * 0.5, 100, 300, 600))];

label.text = verText;

label.numberOfLines = 0;

label.textColor = [UIColor redColor];

[label sizeToFit];//顶部显示

[self.view addSubview:label];

发布评论

评论列表(0)

  1. 暂无评论