【问题标题】:How to draw NSString vertically on iPhone?如何在 iPhone 上垂直绘制 NSString?
【发布时间】:2011-02-18 13:57:23
【问题描述】:

汉字可以横向和纵向查看。我想让用户有两种选择。这如何在 iPhone 视图中完成?

例如

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

【问题讨论】:

    标签: iphone


    【解决方案1】:

    嗨,“哦” 没有这样的方法或属性可以实现这一点,但通过 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;  
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-10
      相关资源
      最近更新 更多