If your frame is 35x25 (...frame = CGRectMake(0, 0, 35, 25)
), it doesn't matter if your picture is 4096x2160.
You have a few options.
You could set the picture to the proper size and:
UIImage buttonImage* = [UIImage imageNamed:@"done_button.png"]; // png size ~40x40 for retina
backbtn.frame = CGRectMake(0, 0, buttonImage.size.width, buttonImage.size.height);
or manually set the frame with an obvious
backbtn.frame = CGRectMake(0, 0, 40, 35);
and programmatically make your UIImage to scale or stretch inside the frame bounds. Stretch a UIImage.
also you could try implementing a normal back button through storyboard/xibs and simply call setImage
if you don't mind letting Objective-C do the heavy lifting. (see: How not to stretch an image for UIButton)