ストーリーボードにフォント サイズ 14 の UITextView を作成し、それを ViewController の detailDescriptionLabel プロパティに接続しました。このコードはviewDidLoadにあります:
self.detailDescriptionLabel.font=[UIFont systemFontOfSize:10];
NSLog(@"text is %@; font is %@", self.detailDescriptionLabel.text, self.detailDescriptionLabel.font);
コンソール出力は次のとおりです。
text is Lorem Ipsum; font is (null)
フォントが nil に設定されているのはなぜですか? setFont: は機能しています。フォントが縮小します。フォントを取得したいので、ジェスチャの後にフォントで lineHeight を呼び出すことができます。このようにして、次のコードでタップされた行を見つけることができます。
int line = [tap locationInView:tap.view].y / self.detailDescriptionLabel.font.lineHeight;
ここでも、フォントは nil です。行は -2147483648 に設定されていますが、これは明らかに私が望んでいるものではありません。