This is related to this issue:
The reason setTitleColor doesn't appear to work is because of the cascading colour behaviour, which means the colour of the button sets the colour of the title text as well.
If you disable the cascading colour behaviour on the button, then you can set the title colour normally. However, you then can't change the button colour.
To be able to change the button colour, use the setBackgroundColor function which I included in the above topic.