2011-10-24 10 views
0

コアテキストを使用して、ボトムアライメントを矩形パスに描画したいアトリビュートストリングがあります。これを行うためにCTFrameSetter/CTFrameを取得する方法はありますか、それとも手動で行う必要がありますか?手動方法のビーイング:CTFramesetterSuggestFrameSizeWithConstraints コアテキストを使用してテキストをフレームの下部に揃えます。

  • パスの高さを調整し使用してフレームの高さアウト

    1. 図。
  • +0

    どの言語で? –

    +0

    私はCore Text APIが利用できると思ったのですか? – Aderstedt

    答えて

    0

    手動で行う必要があります。

    CGRect boundingBox = CTFontGetBoundingBox(font); 
    
    //Get the position on the y axis 
    float midHeight = self.frame.size.height/2; 
    midHeight -= boundingBox.size.height/2; 
    
    CGPathAddRect(path, NULL, CGRectMake(0, midHeight, self.frame.size.width, boundingBox.size.height)); 
    

    参考:Vertical align with Core Text?

    +0

    複数のフォントを使用するとどうなりますか? –

    +0

    どのように動作させるのか分かりません。 は 'path'はフレームを描画するために使用されるパスですか?どのように複数の行で動作するのですか? 1行に計算されたバウンディングボックスではありませんか? – MatterGoal