Skip to main content

Collection View - 2D Display

/*Nothing but dividing items into number of columns and rows */

sizeForItemAtIndexPath()

It returns the size for each item. In collection view, each cell is considered as item and not as rows or columns.
To make it 2D(columns and rows), distribute the collection view frame size into several item sizes, in such a way that x number of items can be placed in a single row.
For instance, if there are 50 items( 5 items in each row which is nothing but 5 columns in 1 row and there are 10 such rows).  Given collection view frame size is 1000.

Now this can be done by dividing the frame size by number of columns,  i.e., 1000/5 = 200. So each items width will be 200.

Comments

Popular posts from this blog

Copying Multiple Content Simaltaneously

We often used to thank   Larry Tesler    for his splendid invention "Cut/Copy/Paste". Think of the world without copy/paste :o :o :o Have you ever tried copying non-sequential content? Ctrl+v will paste the last copied content in the clipboard, whereas ctrl+c copies the content that are selected sequentially   to the clipboard. What if I wanted to copy multiple content from multiple web pages and pasting it in one go, instead of pasting one by one? Or without using paste command copy the multiple content directly to a file? Here is the solution for the Mac Users. [Windows user? Working on it. Will update asap ;) ]   Follow the steps below, which takes less than five minutes and save several minutes ;) 1)     Launch “Automator” 2)     Choose “Utilities” in the left pane 3)     Double Click “Run Shell Script” 4)     The “Run Shell Script” will be added to t...

Percent Escape the reserved Characters in URI

URI encoding need to be done when performing network API calls based on RFC 3986. In order to encode any character, the following native method can be used: [uriString stringByAddingPercentEncodingWithAllowedCharacters : [ NSCharacterSet URLQueryAllowedCharacterSet ] ] But the above method is not compliant with RFC3986 and it does not encode the reserved characters like "!*'();:@&=+$,/?%#[]". Hence, the following method can be used for percent encoding the specific reserved characters. ((NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(NULL, (__bridge CFStringRef) string, NULL,  CFSTR("!*'();:@&=+$,/?%#[]"), encoding))); }

Separator Inset Problem - iOS 8

                    In iOS8, there is extra space in table view separators by default. It is nothing but the edge inset. To remove the separator edge inset, in iOS 7, custom separator insets can be set in the attributes inspector of the table view. In iOS 8, use the following in the table view controller: //set edge inset zero for default separator -(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath     {     if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) {     [self. tableView setSeparatorInset:UIEdgeInsetsZero];   }     if ([self. tableView respondsToSelector:@selector(setLayoutMargins:)]) {     [self. tableView setLayoutMargins:UIEdgeInsetsZero];   }     if ([cell respondsToSelector:@selector(setLay...