ゆるい感じのプログラムを書きたい。

プログラムの敷居を下げて、多くの人が開発出来るように色々書いていきます!

【iphoneアプリ】iOS 7で非推奨になった drawAtPoint編

2014年2月現在

本屋などに売っているObjectiv-cの本は、ほぼiOS 6以下のバージョンで
サンプルを書かれている事が多い。

そのため、iOS 7で非推奨になったプロパティなどが出て来た際
代替え方法、また代わりのメソッドなど、本にも載ってなく
リファレンスには非推奨と書かれてるだけで、詳しく説明されていない。
(詳しく調べれば、載っているかもですが...)


そんな状況なので、自分で調べたiOS 7対応を書いて行きたいと思います。
また、参考もしくは、もっと良い方法があれば教えてください。



今回は、文字の描画で使う「drawAtPoint」についてです。


以下の書き方は、iOS 6以下のバージョン時に記述していた内容です。

UIFont *font = [UIFontfontWithName:@"Verdana-Bold"size:20];

[@"iOS7では非推奨" drawAtPoint:CGPointMake(x,y) withFont:font];

しかし、iOS 7では、「drawAtPoint」の「withFont」は
非推奨となり、Xcodeでは注記対象となってしまいます。


そのため、「withAttributes」を使って、以下の内容に書き換える必要があります。

UIFont *font = [UIFontfontWithName:@"Verdana-Bold"size:20];

[@"iOS7対応" drawAtPoint:CGPointMake(x,y) withAttributes:@{
            NSFontAttributeName:font}];


また、フォントカラーも変更したい場合は以下のように書きます。

 UIFont *font = [UIFontfontWithName:@"Verdana-Bold"size:20];
UIColor *color = [UIColor redColor];

 [@"赤い文字が表示されます。" drawAtPoint:CGPointMake(x,y) withAttributes:@{
            NSFontAttributeName:font
            NSForegroundColorAttributeName:color}];


その他、変更できる項目が下記のようにありますので、
用途に合わせて使ってください。

NSString* const NSFontAttributeName;// フォント名 
NSString* const NSParagraphStyleAttributeName;// 段落の書式
NSString* const NSForegroundColorAttributeName;// 文字色
NSString* const NSBackgroundColorAttributeName;// 背景色
NSString* const NSLigatureAttributeName;// リガチャ
NSString* const NSKernAttributeName;// カーニング
NSString* const NSStrikethroughStyleAttributeName;// 取り消し線
NSString* const NSUnderlineStyleAttributeName;// 下線
NSString* const NSStrokeColorAttributeName;// 枠線の色
NSString* const NSStrokeWidthAttributeName;// 枠