myButton.imageView.image является свойством только для чтения и поэтому не может быть изменено следующим образом.тогда как setBackgroundImage - это метод, который правильно устанавливает фон.
// EDIT
метод setImage для UIButton ТРЕБУЕТ двух аргументов,
setImage:(UIImage *) forState:(UIControlState)
, таким образом, используя вышеупомянутый методработает нормально, а другие нет.