I think you'll have to implement either the delegate method tableView:heightForRowAtIndexPath:
or setting the rowHeight
property on the tableView as explained here.
As to why it works on iPhone, perhaps it just happens to be a good size. Apple docs for rowHeight state:
If you do not explicitly set the row height, UITableView sets it to a standard value.