I have a `UILabel` whose property `text` I would like to set paragraphs of text to using `NSString`.

I have an array in which I store a sequence of characters that represent a text paragraph.

The paragraph doesn't have to fit/included perfectly within this `UILabel`. If the paragraph doesn't end, I would move on to the next label. 

Let say if I had rect size of this `UILabel` 160 X 240, how could I be able to determine the correct font size in order to fill this string of the `UILabel` within nicely?

Is there a mathematical way for the calculation of font size based upon the size of the rect on the screen? 

For example:

```
UILabel *aLabel = [[UIlabel alloc] initwithFrame(CGRect){{0, 0}, 160, 240}];
aLabel.font = [UIFont fontWithName:@"Courier New" size:<???>]; //(font unit in points)

NSMutableString *aString = [[NSMutableString alloc] init];

//The following tries to fit the character one by one within the label rect based on   
//the width and height of the UILabel by appending String
int index = 0;
for(int x = 0; x < 240; x+=<???>) //height of label (pixel unit)
{
    for(int y = 0; y < 160; y+=<???>) //width of label (pixel unit)
    {
        [aString appendWithString:[paragraphArray objectAtIndex:index]];
        index++;
    }
    [aString appendWithString:@\n"];  //line break
}
aLabel.text = aString;

```

How can I be able to determine the values where the ??? are (namely the font size and the pixel size for the for loops)? 

If this is not the optimal way to perform such a task, please kindly suggest me any other.