私は新しいバージョンのアプリケーションで作業していますが、廃止予定のメッセージを置き換えようとしていますが、これを越えることはできません。drawInRect:withAttributesとdrawInRect:withFont:lineBreakMode:alignment
なぜdrawInRect:withAttributes
が機能していないのかわかりません。 drawInRect:withFont:lineBreakMode:alignment
メッセージを送信するとコードが正しく表示されますが、drawInRect:withAttributes
が送信された場合は機能しません。
私は同じrectとfontを使用していますが、私は同じテキストスタイルだと思います。定数はイメージのすぐ下にrectを配置するだけですが、私は両方の呼び出しに同じrectを使用していますので、矩形が正しいと確信しています。
上記 [bs.name drawInRect:textRect
withAttributes:@{NSFontAttributeName:textFont,
NSParagraphStyleAttributeName:textStyle}];
から変数を使用して
(以下使用bs.nameはNSStringのオブジェクトであることに注意)
CGRect textRect = CGRectMake(fCol*kRVCiPadAlbumColumnWidth,
kRVCiPadAlbumColumnWidth-kRVCiPadTextLabelYOffset,
kRVCiPadAlbumColumnWidth,
kRVCiPadTextLabelHeight);
NSMutableParagraphStyle *textStyle = [[NSMutableParagraphStyle defaultParagraphStyle] mutableCopy];
textStyle.lineBreakMode = NSLineBreakByWordWrapping;
textStyle.alignment = NSTextAlignmentCenter;
UIFont *textFont = [UIFont systemFontOfSize:16];
これが動作しない(何も画面上に描画されていません)
これは、上の同じ変数を使用して、文字列が画面上に正しく描かれます。
[bs.name drawInRect:textRect
withFont:textFont
lineBreakMode:NSLineBreakByWordWrapping
alignment:NSTextAlignmentCenter];
援助は素晴らしいでしょう。ありがとう。
「drawInRect:withAttributes:」が機能しないとはどういう意味ですか? –
非常に良い質問です。申し訳ありませんが私は詳しく説明しませんでした。 bs.nameに含まれる文字列は、drawInRect:withFont:lineBreakMode:alignmentメッセージを使用して正しく描画されますが、drawInRect:withAttributesメッセージを使用しているときは表示されません(何も描画されません)。 –