Just a suggestion, wouldn't it beasier to add your answers to an UITableView where each row is an answer.
If you don't want to go this route:
The reason its going on top of each other all the time is your y-Coordinate is always the same (self.messageView.frame.origin.y + self.messageView.frame.size.height) -- The height isn't increasing. Also, you're setting the instance of containerCommentView every insert of a new view.
** Edit for UITableView Changes **
You do only have one section, the sections are 0 based, so your section is actual section 0. If you had 2 sections, section 1 would be 0, 2 would be 1.
Try moving
int rowIndex = self.commentArray.count;
[self.commentArray insertObject:[[NSString alloc] initWithFormat:@"%@", self.inputComment.text]
atIndex:rowIndex];
above the [self.tableView beginUpdates];
I'm not 100% sure but I believe the beginUpdates is taking a snapshot of the row count before the insert animations, and since you're adding to the array within the updates it still thinks the commentArray is empty.