У меня есть UIButton, который я добавляю к представлению контроллера вида в раскадровке. Я добавляю ограничения центрирования, чтобы расположить его и удержать ограничения пространства, чтобы ограничить его ширину. В коде я добавляю:
self.button.titleLabel.numberOfLines = 0;
self.button.titleLabel.lineBreakMode = NSLineBreakByWordWrapping;
[self.button setTitle:@"A real real real real real real real real long long name." forState:UIControlStateNormal];
self.button.backgroundColor = [UIColor redColor];
self.button.titleLabel.backgroundColor = [UIColor blueColor];
Результат показан ниже:
Я хочу, чтобы кнопка меняла свой контент. Как я могу это сделать?
Я пробовал
[self.button sizeToFit];
и я попытался установить приоритеты ограничений автоопределения содержимого и ограничения на сжатие.
Я также попытался явно установить параметры contentEdgeInsets и titleEdgeInsets в UIEdgeInsetsZero и вызвать invalidateIntrinsicContentsize.
Я также заметил, что если я помещаю символы новой строки в строку заголовка, кнопка, похоже, изменит размер, чтобы соответствовать его контенту.
Я запускаю Xcode 6 и iOS 8 на симуляторе iphone 6.