Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>This is something that I have worked out. <a href="http://dl.dropbox.com/u/35012982/Demo%20Projects/TestViewMatrix.zip" rel="nofollow">Source Code</a></p> <p>An enumerated type to denote you want vertial or horizontally arranged items</p> <pre><code>typedef enum { ArrangementTypeHorz = 1, ArrangementTypeVert = 2 }ArrangementType; </code></pre> <p>Declared number or rows columns and arrangement type</p> <pre><code>@interface ATTViewController () { ArrangementType _arrangementType; NSUInteger _rows; NSUInteger _columns; } @end </code></pre> <p>Method calculates the frame of an item index wrt superView</p> <pre><code>- (CGRect)frameForItemAtIndex:(NSUInteger)index inSuperView:(UIView *)superView { CGFloat blockWidth = floorf(superView.frame.size.width/_columns); CGFloat blockHeight = floorf(superView.frame.size.height/_rows); NSUInteger row = 0; NSUInteger column = 0; if (_arrangementType == ArrangementTypeHorz) { row = floorf((CGFloat)index/_columns); column = index - row*_columns; }else{ column = floorf((CGFloat)index/_rows); row = index - column*_rows; } CGFloat xOffset = 5.0f; CGFloat yOffset = 5.0f; return CGRectMake(blockWidth*column+xOffset, blockHeight*row+yOffset, blockWidth-(2*xOffset), blockHeight-(2*yOffset)); } </code></pre> <p>Adding Buttons to a containerView. While adding set the rows, columns and arrangementType</p> <pre><code>- (void)addButtonsToContainerView { NSUInteger numberOfItems = 5; _rows = 2; _columns = 3; _arrangementType = ArrangementTypeVert; NSUInteger itemCount = 0; while (itemCount&lt;numberOfItems) { UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; CGRect frame = [self frameForItemAtIndex:itemCount inSuperView:self.containerView]; [button setFrame:frame]; NSString *title = [NSString stringWithFormat:@"Button %d",itemCount+1]; [button setTitle:title forState:UIControlStateNormal]; [self.containerView addSubview:button]; itemCount ++; } } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload