如何在iPhone上垂直绘制NSString?

时间:2010-05-11 07:37:41

标签: iphone

中文字符可以水平和垂直查看。我想让用户同时拥有两种选择。如何在iPhone视图中完成?

e.g。

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

1 个答案:

答案 0 :(得分:0)

嗨“ohho” 没有这样的方法或属性可以通过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;