I'm getting some strange behaviour, and I'm wondering if a root cause of that behaviour might be selectRow (used to set which row in the picker wheel should be viewed as selected) causing didSelectRow (which I thought was only used for user input) to fire. I certainly can't come up with any other reason for code that should only be in didSelectRow (show a hidden button) to fire.