My Application Objective C Reference
Home
Application
SQLite 3
Core Text
PDF
iCloud
Core Motion
Core Text
Core Textの初期の設定をする
  • Core Textのフレームワーク
  • 文字を映写する
  • UIViewのクラス
  • drawRectで文字の映写
  • パラグラフの設定
  • Core Textの初期の設定をする
    Core Textのフレームワーク Xcodeを開いた最初の画面からTargets -> Biild Phasesと選択していく。link Binary with Librariesを開き+ボタンを押してCore Textのプレームワークを追加します。
    文字を映写する
  • UIViewのクラス
  • Core Textのフレーム・ワークをインポートしたUIViewのクラスから書き始めます。
    例)
     #import < CoreText/CoreText.h >
     @interface ViewName : UIView {  省略  }
    
  • drawRectで文字の映写
  • BeginEditingから、CFMutableAttributedStringに、setを使い任意の効果を加えて、CGContextで文字を映写する。
    例)
     - (void)drawRect:(CGRect)rect 
    {
     CFStringRef string = 
      (CFStringRef)@"any text";
     CFMutableAttributedStringRef attrString;
      attrString 
       = CFAttributedStringCreateMutable(NULL, 0);
     CFAttributedStringBeginEditing(attrString);
     CFAttributedStringReplaceString (attrString,
      CFRangeMake(0, 0), string);
     [self setValueForFont:attrString];
     CFAttributedStringSetAttribute(attrString,
      CFRangeMake(0,   
      CFAttributedStringGetLength(attrString)),
       kCTParagraphStyleAttributeName, paragraph);
     CFRelease(paragraph);
     CFAttributedStringEndEditing(attrString);
     CFRelease(attrString);
    
                      省略 
    }
    
  • パラグラフの設定
  • floatValue[2]で文字のサイズとfloatValue[4]で行間の幅を設定する。setParagraphで効果をAttributedStringに反映させる。
    例)
    CTParagraphStyleSetting setting[10];
    CGFloat floatValue[10];
    
     floatValue[0] = 0.0;
     floatValue[1] = 0.0; 
     floatValue[2] = 18.0; //文字のサイズ
     floatValue[3] = 0.0;
     floatValue[4] = 4.0;  //行間の幅
     floatValue[5] = floatValue[4];
     
    setting[0].spec = kCTParagraphStyleSpecifierLineSpacing; setting[0].valueSize = sizeof(CGFloat); setting[0].value = &floatValue[0]; setting[1].spec = kCTParagraphStyleSpecifierParagraphSpacing; setting[1].valueSize = sizeof(CGFloat); setting[1].value = &floatValue[1]; setting[2].spec = kCTParagraphStyleSpecifierMaximumLineHeight; setting[2].valueSize = sizeof(CGFloat); setting[2].value = &floatValue[2]; setting[3].spec = kCTParagraphStyleSpecifierMinimumLineHeight; setting[3].valueSize = sizeof(CGFloat); setting[3].value = &floatValue[3]; setting[4].spec = kCTParagraphStyleSpecifierMinimumLineSpacing; setting[4].valueSize = sizeof(CGFloat); setting[4].value = &floatValue[4]; setting[5].spec = kCTParagraphStyleSpecifierMaximumLineSpacing; setting[5].valueSize = sizeof(CGFloat); setting[5].value = &floatValue[5]; CTParagraphStyleRef paragraph = CTParagraphStyleCreate(setting, 6);
    参考:Core Text Programming Guide
    Site Map Contact Us
    Copyright 2012 iBegginers All rights reserved.