Существуют различные подходы, которые вы можете использовать, в зависимости от того, хотите ли вы использовать Interface Builder для компоновки вашей сетки.
Одним из вариантов является размещение ваших 24 UIImageViews как подпредставлений общего родительского представления в IB. На вкладке View Attributes вы можете установить число «Tag» от 1 до 24, чтобы дифференцировать ваши UIImageViews. Затем в вашем коде вы можете использовать [parentView viewWithTag: tagNumber] для доступа к каждому UIImageView.
Если вы предпочитаете делать вещи более программно, вы можете создать каждый из ваших UIImageViews в цикле в методе loadView вашего подкласса UIViewController. Вы можете сохранить массив (или массив массивов, соответствующих строкам и столбцам) как свойство вашего контроллера и сохранять ссылку на каждое из этих представлений изображения при их создании. Для каждого создаваемого вами UIImageView установите его свойство imageView.frame, чтобы определить его положение, затем вызовите [view addSubview: imageView], чтобы добавить его в родительское представление.