Generally true, but sometimes they ARE decided on one issue.
Given the districts in Iowa then that one issue could have been tariffs and their impact on soybeans. It could have been the wall, or lack thereof. It could have been the deficit. Obamacare is only one possible reason, and I'll also point out that McCain wasn't the only Republican who voted against it. He's just a handy target.