I donβt think there is a hard limit if you do not have enough memory. I have used more than 20 in the past without any problems (although having many controllers means that you have to be very careful when managing memory, i.e. didReceiveMemoryWarning to handle correctly )