【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;// 枠