sizeToFit with maximum width

4.8k views Asked by At

I am trying to programmatically manipulate a UILabel so that it has a dynamic width.

I found that using sizeToFit() does this exact behavior. Now as this label becomes my navigationItem.titleView. I want it to have a maximum size, which can't be extended.

It is important to fit 2 barButtonItems in the navigationItem. For instance: a backBarButton on the left, an addButton on the right.

Is there a way to change the sizeToFit() method?

2

There are 2 answers

0
Marius Fanu On BEST ANSWER

You can use sizeThatFits: see docs here.

You have to specify a CGSize that you want to fit in.

0
Faris On

to set maximum width use preferredMaxLayoutWidth than set the maximum size like that bounds.width - 120

for example:

    yourLabel.sizeToFit()
    yourLabel.numberOfLines = 0
    yourLabel.preferredMaxLayoutWidth = bounds.width - 120