如何在iPhone上垂直绘制NSString?

问题描述:

汉字可以水平和垂直查看。我想让用户有两种选择。这怎么能在iPhone视图中完成?如何在iPhone上垂直绘制NSString?

例如

+-------------------------+   +-------------------------+ 
| Hello, I am a newbie. |   |     b a H | 
|       |   |     i m e | 
|       |   |     e  l | 
|       | ---> |     . a l | 
|       |   |      o | 
|       |   |     n , | 
|       |   |     e | 
|       |   |     w I | 
+-------------------------+   +-------------------------+ 

嗨“ohho” 没有这样的方法或属性,通过该U可以做到这一点,但是,可以通过jugad(本地字)技术。 在下面的代码中,我假设myLabel是UILabel的一个对象,它以所需的形式显示文本,其中文本是从myTextField(UITextField的一个对象)获取的。

CGFloat height= myLabel.font.lineHeight; 
int lineCount = myLabel.frame.size.height/height; 
float temp = [myTextField.text length]*1.0f/lineCount; 
int charPerLine = temp; 
charPerLine = (temp > charPerLine)?charPerLine+1:charPerLine; 
NSString* original = myTextField.text; 
NSString* modifiedString = @""; 
for (int i =0; i < lineCount; i++) 
{ 
    for (int j = charPerLine-1 ; j >=0; j--) 
    { 
     NSRange r = NSMakeRange(i+j*lineCount, 1); 
     if (r.location < [original length]) { 
      modifiedString =[modifiedString stringByAppendingFormat:@"%@ ",[original substringWithRange:r]]; 
     } 
    } 
    modifiedString = [modifiedString stringByAppendingString:@"\n"]; 
} 
myLabel.text = modifiedString;