助けが必要です。入力 CGSize (たとえば): 200x300があります。そして他のと配列CGSize's = [20x20, 100x100, 150x150, 200x100, 200x250, 300x300...]
。最良の比較パーセンテージ(たとえば、200x250)を持つ配列内の最良のアイテムを見つけるのを手伝ってください...
たとえば、列挙子に使用しようとしました:
CGSize inputSize = CGSizeMake(200, 300);
for (int i = 0; i < array.count; i++)
{
CGSize concurentSize = CGSizeZero;
switch (i)
{
case 0:
{
concurentSize.width = 20;
concurentSize.height = 20;
}
and so on...
float differencePercentWidth = ( concurentSize.width / inputSize.width ) * 100.0;
float differencePercentHeight = ( concurentSize.height / inputSize.height ) * 100.0;
if (differencePercentWidth > 90 && differencePercentHeight > 90)
{
// FOUND best CGSize... stop
break.
}
}
しかし、うまくいきません。differencePercentWidth /differencePercentHeightは > 100 =(
2 つの CGSize をパーセントで比較できるメソッドまたは関数が必要です...たとえば、サイズ 200x300 はサイズ 200x250 と最もよく一致します...
float matchesInPerсent = CGSizeCompare(firstCGSize, secondCGSize);
//matchesInPerсent = 0.6; // in percents
助けてください。英語で申し訳ありません。詳細が必要な場合はお知らせください。ありがとう。