I ended up creating multiple instances of my view controllers and storing them in an array. Not a great solution, but the best I could find.
@property (strong, nonatomic) MessagesViewController *messagesVC1;
@property (strong, nonatomic) MessagesViewController *messagesVC2;
@property (strong, nonatomic) MessagesViewController *messagesVC3;
@property (strong, nonatomic) MessagesViewController *messagesVC4;
@property (strong, nonatomic) MessagesViewController *messagesVC5;
@property (strong, nonatomic) MessagesViewController *messagesVC6;
self.messagesVC1 = [[MessagesViewController alloc] initWithData:data];
self.messagesVC2 = [[MessagesViewController alloc] initWithData:data];
self.messagesVC3 = [[MessagesViewController alloc] initWithData:data];
self.messagesVC4 = [[MessagesViewController alloc] initWithData:data];
self.messagesVC5 = [[MessagesViewController alloc] initWithData:data];
self.messagesVC6 = [[MessagesViewController alloc] initWithData:data];
self.messagesVCArray = @[self.messagesVC1, self.messagesVC2, self.messagesVC3, self.messagesVC4, self.messagesVC5, self.messagesVC6];
MessagesViewController *messagesVC = [self.messagesVCArray objectAtIndex:i];
[messagesVC setFrame:CGRectMake(0, 0, 320, leagueScrollView.frame.size.height)];
[leagueScrollView addSubview:messagesVC.view];