2

画面にカードを描画したいのですが、カードをレイアウトするとテキストが少なくなり、拡大するとテキストが多くなり、理想的には のようにある設定から別の設定にアニメーション化されますjQuery(...).show('slow');。最初の状態は、アフィン変換によってわずかに回転します。ズームインしたビューに回転して拡大したいと思います。

https://developer.apple.com/library/ios/documentation/StringsTextFonts/Conceptual/CoreText_Programming/Operations/Operations.html#//apple_ref/doc/uid/TP40005533-CH4-SW1でドキュメントを見ましたが、私はより低いレベルの何かが欲しい。レスポンシブ プログラミングのやり方で、トリアージに従ってズームインし、より多くの情報を徐々に明らかにしたいと考えています。そのため、ズームアウトすると ID 番号が一番上に表示され、その下に「JS」が表示され、カードの幅が十分に広い場合は「J Smith」、ズームインすると「Jane Smith」に拡張されます。 iPad と iPhone でより多くのカードを取り付けるのではなく、どちらの状況でもほぼ同じ数のカードを 1 つのディスプレイに収めることができますが、iPad のディスプレイでは、ズームインしていないときにより多くの情報を含むより大きなカードが表示されます。

文字列、フォント識別子、およびフォント サイズを受け取り、文字列の幅のピクセル数を返す関数はありますか? コア テキスト プログラミングで既に低レベルのものを細かく管理するのは通常エラーであることはわかっていますが、iPhone が小さい場合、iPad が小さい場合、拡大された場合、およびその間のすべてがプログレッシブで発生するように最適化された、慎重に選択されたレスポンシブ デザインが必要です。情報の開示とトリアージ。

4

1 に答える 1

2

はい。iOS7 より前 (iOS7 で非推奨) については、NSStrings メソッド (およびその他のバリアント) を参照してください。

- (CGSize)sizeWithFont:(UIFont *)font

iOS7の場合(そして+おそらく)

- (CGSize)sizeWithAttributes:(NSDictionary *)attrs

コード例:

CGSize drawnSize = [myString sizeWithFont:myFont];
于 2013-09-20T15:51:39.790 に答える