title: How do I sizeToFit a UILabel by changing only the height and not the width?
body: <pre><code>[self.Review sizeToFit];
  </code></pre>
  
  <p>Result before sizeToFit:</p>
  
  <pre><code>NSStringFromCGRect(self.Review.frame): {{90, 20}, {198, 63}}
  </code></pre>
  
  <p>Result After sizeToFit:</p>
  
  <pre><code>NSStringFromCGRect(self.Review.frame): {{90, 20}, {181, 45}}
  </code></pre>
  
  <p>I want the width to remain the same. I just want to change the height. THe automask is</p>
  
  <pre><code>(lldb) po self.Review
  (UILabel *) $1 = 0x08bb0fe0 &lt;UILabel: 0x8bb0fe0; frame = (90 20; 181 45); text = 'I'm at Mal Taman Anggrek ...'; clipsToBounds = YES; opaque = NO; autoresize = LM+RM+H; userInteractionEnabled = NO; layer = &lt;CALayer: 0x8bb68b0&gt;&gt;
  </code></pre>
  
  <p>I know that there is a way to do so with:
  <a href="https://stackoverflow.com/questions/4094753/how-to-adjust-and-make-the-width-of-uilabel-fit-to-the-text-size/9091664#comment17749346_9091664">How to adjust and make the width of a UILabel to fit the text size?</a></p>
  
  <p>The answers are either strange (we need to resupply the font information). Or unclear.</p>
  
  <blockquote>
    <p>You will also need to define a maximum width, and tell your program
    what to do if sizeToFit gives you a width greater than that maximum.</p>
  </blockquote>
  
  <p>I will use the strange solution of using <code>sizeWithFont</code>. It's strange because UILabel already knows the font in the label.</p>
  
  <p>Actually how does sizeToFit behave anyway? How does it decide whether we need thinner or taller UILabel?</p>