title: Determine when UIView has finished layout
body: <p>I have UIView subclass, and for laying out UI elements i don't using Auto Layout. I want to set frame depends on width or height of frame. However, when i do this right after <code>alloc]init]</code> methods, it look like self.frame.size.height or width is zero. For temporary solution i did following:</p>
  
  <pre><code>    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.25 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
          UIImage *img = [UIImage imageNamed:@"sound_level_arrow"];
          _arrowImgView = [[UIImageView alloc] initWithFrame:CGRectMake(self.frame.size.width/2, 0, img.size.width, img.size.height)];
          _arrowImgView.center = CGPointMake(self.mainImgView.frame.size.width/2, self.mainImgView.frame.size.height-2);
          _arrowImgView.image = [UIImage imageNamed:@"sound_level_arrow"];
          _arrowImgView.contentMode   = UIViewContentModeCenter;
          [self.mainImgView addSubview:_arrowImgView];
      });
  </code></pre>
  
  <p>But of course i need to know, when view is finish loading and where it has actual self.frame.size.width and height.</p>