Я бы написал комментарий, но поскольку я не могу этого сделать из-за низкой репутации, которую я имею, я опубликую его здесь как ответ:
У меня просто была та же ошибка, и я пыталсяисправить это с помощью предложения Thuggish Nuggets.Оказалось, что это правильный подход, однако размер изображения должен быть множеством 8. Я просто выровнял ширину с множеством 8, я не знаю, должна ли высота также быть множеством 8, так как изображение, которое яВ любом случае, этот подход был проверен на квадратичность.
Вот (вероятно, не очень эффективный) алгоритм, чтобы дать вам базовую идею о том, как рассчитать необходимый размер:
UIImage *image = ...;
CGSize targetSize = image.frame.size; //e.g. 51 x 51
double aspectRatio = targetSize.width / targetSize.height;
targetSize.width = targetSize.width + 8 - ((int)targetSize.width % 8);
targetSize.height = targetSize.width / aspectRatio;