我想用多行制作弯曲文字。
我使用了#34; CoreTextArcView.h" &安培; " CoreTextArcView.m"文件,我发现哪一个做弯曲文本,但当我尝试如下键入类似字符串" Hello \ nWolrd"对于多线曲线文本
CGRect rect1 = CGRectMake(0, 120, 320, 120);
UIFont * font1 = [UIFont fontWithName:@"Helvetica" size:26.0f];
UIColor * color1 = [UIColor whiteColor];
CoreTextArcView * cityLabel = [[[CoreTextArcView alloc] initWithFrame:rect1
font:font1
text:@"Hello\nWorld"
radius:85
arcSize:110
color:color1] autorelease];
cityLabel.backgroundColor = [UIColor clearColor];
[self.view addSubview:cityLabel];
但结果只显示一行弯曲文本,就像我输入的那样#34; Hello \ nWolrd"不受多线效应影响。
我想要这样:
答案 0 :(得分:0)
直接使用新行文字在上面的自定义类中是不可能的,但是您应该放置一些逻辑并像下面一样处理它。
UIFont * font1 = [UIFont fontWithName:@"Helvetica" size:26.0f];
UIColor * color1 = [UIColor blackColor];
NSString *titleString = @"Hello\nWorld";
NSArray *strArray = [titleString componentsSeparatedByString:@"\n"];
int y = 120;
for (NSString *strCurveText in strArray) {
CGRect rect1 = CGRectMake(0, y, 320, 70);
CoreTextArcView * cityLabel = [[CoreTextArcView alloc] initWithFrame:rect1
font:font1
text:strCurveText
radius:35
arcSize:90
color:color1];
cityLabel.backgroundColor = [UIColor clearColor];
[self.view addSubview:cityLabel];
y = y + (rect1.size.height/2);
}
根据文字大小设置 ArcSize 和半径。
希望这会对你有所帮助。