So pra poder estar perto de voce ! Funcao: Me impedir de dar um abraco na pessoa que eu amo Funcao: Afastar quem ta perto e aproximar quem ta longe. Mesmo sem querer , voce Pensou em Mim ? E que Eu Te Amo ! nao tem mais bochechas fofas, nao e mais a queridinha da vovo, nao e mais a princesinha do papai e ate o pobre do bicho papao te abandona; voce perde os amigos imaginarios, nao vive mais cercada de pessoas que sorriem pra ti, que querem te mimar e fazer tuas vontades; voce nao pode mais simplesmente chorar pra nao ir a escola, nao pode mais morder as professoras quando se irrita e nem ser mau educada e dar desculpas de que e muito crianca pra entender que certas palavras magoam; ninguem mais limpa suas lagrimas e te poe pra dormir dando beijinho na testa; voce perde todas as regalias e passa a ser responsavel pelo que cativou; voce cresce, voce ERRA, voce APRENDE, voceGANHA, e voce PERDE. sinl de que voce no soube me dr vlor ;* In iOS 6 Apple presented us the UIRefreshControl to use with "Pull to Refresh" actions. This control is really easy to use and can be currently used with UITableView, UIScrollView and UICollectionView.On your -(void)viewDidLoad method or the place where your controller will load for the first time, create and add the refresh control as a subview of the views mentioned above.<![CDATA[ UIRefreshControl *refresh = [[UIRefreshControl alloc] init];//1 - Here we add the method that will respond to changes on refresh control [refresh addTarget:self action:@selector(refreshView:) forControlEvents:UIControlEventValueChanged]; //2 - This line will paint the refresh droplet [refresh setTintColor:[UIColor yellowColor]];//3 - Here we create the new attributed title such we can add color, font, etc NSMutableAttributedString *title = [[NSMutableAttributedString alloc] initWithString:@"Pull to Refresh"]; [title addAttribute:NSForegroundColorAttributeName value:[UIColor yellowColor] range:NSMakeRange(0, 15)]; [refresh setAttributedTitle:title];//4 - Add it to the view controller desired subview [self.viewController.scrollView addSubview:refresh];]]>The next step is to create the refreshView method, just add it anywhere on your view controller.<![CDATA[-(void)refreshView:(UIRefreshControl *)control{//1 - do some loading job//2 - Finish refreshing so the user will be able to "Pull to Refresh" again [control endRefreshing];}]]>That is it, nice and smooth. On getting back to iOS programming I restarted to check into interesting subjects, like the right way of creating view controllers, behaviours and more.One thing I had to create these last days was some code for a text field to follow the keyboard open/close animation. Then it come to me that we were going to use that behaviour was needed in more places and that it didn't belong to the view controller neither to the view using it.So in order to achieve that I decided to create a behaviour class which features are:To receive a target viewRegister under keyboard eventsAnimate the target view to follow the keyboard open/close animationKeep target view before (on top) of keyboard, meaning that target will be hidden when keyboard is closedThis set of features don't break the single responsibility principle since it is responsible only for controlling the animation behaviour of a view