UIButton を含む UIView があります。UIButton には、UIControlStateNormal ("Follow") および UIControlStateSelected ("Following") 状態用に設定された 2 つのタイトルがあります。UIButton で自動レイアウトを使用していますが、スーパービューの上部から一定の距離にあるという制約と、スーパービューの左側から一定の距離にあるという制約があります。「コンテンツに合わせたサイズ」も使用しました。
コードからボタンを選択状態に設定すると、タイトルは正しく変更されますが、UIButton の固有の幅は変更されないため、「フォロー」から「フォロー」に変更するとテキストが省略されます。
self.selected = self.following;
別の方法で問題に取り組み、誰かがボタンを押したときに UIControlStateNormal のテキストを変更するだけで、ボタンのサイズが正しく変更されます。
NSString *title = (self.following) ? @"Following" : @"Follow"
[self setTitle:title forState:UIControlStateNormal];
これは UIKit のバグですか? 特に2つのボタン状態のテキスト以外に変更したいものがあるため、状態が変化したときにテキストの新しいサイズを正しく反映するようにボタンの固有のサイズが変更されることを期待します。