NSLog(@"smallSystemFontSize=%f" ,[UIFont smallSystemFontSize]); NSLog(@"systemFontSize=%f" ,[UIFont systemFontSize]); NSLog(@"buttonFontSize=%f" ,[UIFont buttonFontSize]); NSLog(@"labelFontSize =%f" ,[UIFont labelFontSize]); // この処理をmain()に置くと、なぜか↓がエラーを発生する // UIFont *font = [UIFont systemFontOfSize:96]; UIFont *font = [UIFont fontWithName:@"Times New Roman" size:96]; NSLog(@"capHeight =%f",font.capHeight); NSLog(@"ascender =%f",font.ascender); NSLog(@"descender =%f",font.descender); NSLog(@"lineHeight=%f",font.lineHeight); NSLog(@"pointSize =%f",font.pointSize); NSLog(@"xHeight =%f",font.xHeight);
が、これが実行時にエラーを出す。
調べると、main()の中に書いているとfontWithNameまたはsystemFontOfSizeでエラーを発生する。
UIApplicationMain()以降に呼び出されるメソッド内、たとえばapplication:didFinishLaunchingWithOptions:の中だと問題ない。
main()中ではインスタンスを作ることそのものがだめなのかと思いきや、NS*では問題ない。
UIKitのインスタンスメソッドはだめなのかも知れない。
まあ、通常main()内に記述することはないはずだが、念のため。
0 件のコメント:
コメントを投稿