I generate my Views in my View Controller like this now:
-(void) generateCardViews {
int positionsLeftInRow = _CARDS_PER_ROW;
int j = 0; // j = ROWNUMBER (j = 0) = ROW1, (j = 1) = ROW2...
for (int i = 0; i < [self.gameModel.cards count]; i++) {
    NSInteger value = ((CardModel *)self.gameModel.cards[i]).value;
    CGFloat x = (i % _CARDS_PER_ROW) * 121 + (i % _CARDS_PER_ROW) * 40 + 45;
    if (j % 2) {
        x += 80; // set additional indent (horizontal displacement)
    }
    CGFloat y = j * 85 + j * 40 + 158;
    CGRect frame = CGRectMake(x, y, 125, 125);
    CardView *cv = [[CardView alloc] initWithFrame:frame andPosition:i andValue:value];
I get my Data for _CARDS_PER_ROW from a previous VC.
But now i want to leave some places empty.
Now i can generate for example:
*  *  *
*  *  *
*  *  *
But i want to generate something like this:
*  *  *
*     *
*  *  *
but i don't know how i can skip some places for my views...
EDIT:
- (void)viewDidLoad {
[super viewDidLoad];
    level1GameViewController *gvc = [self.storyboard instantiateViewControllerWithIdentifier:@"level1GameViewController"];
    gvc.CARDS_PER_ROW = 3;
    //gvc.gameStateData = gameStateData;
    [self presentViewController:gvc animated:NO completion:nil];
   }
This is what im passing from previous controller
EDIT:
*  *  *  *
*  *  *  *
*  *  *  *
*  *  *  *  *  *
*  *        *  *
*  *  *  *  *  *
*  *    *  *
*          * 
   *    *
all this arrangements i need for example
                        
First of all, let's put the frame calculation into a separate method:
Now, let's specify the card distribution with a mask block, which we send as a parameter:
}
Called as
To generate (assuming
_CARDS_PER_ROWis6)