Не уверен, что есть более простой способ, но я бы просто сделал что-то вроде
CGFloat myDesiredWidth=50;
CGFloat myDesiredHeight=70;
CGFloat startWidth=mySprite.size.width;
CGFloat startHeight=mySprite.size.height;
CGFloat scaleX=myDesiredWidth/startWidth;
CGFloat scaleY=myDesiredHeight/startHeight;
CGFloat finalScale=MIN(scaleX,scaleY);
mySprite.scale=finalScale;
Добавьте это в категорию на CCSprite, и вам больше не придется об этом беспокоиться