nibファイルに2つと1つがUILabels
あります。UIView
このペン先は私のcollectionView
. 私のviewForSupplementaryElementOfKind:
方法では、これら 3 つのオブジェクトのフレームを変更する必要があります。header.personCollege
ラベルのサイズに合わせて変更中です。
[header.personCollege sizeToFit];
CGRect boxFrame = header.boxView.frame;
boxFrame.origin.x = header.personCollege.frame.origin.x + header.personCollege.frame.size.width + 11;
header.boxView.frame = boxFrame;
CGRect yearFrame = header.personYear.frame;
yearFrame.origin.x = boxFrame.origin.x + boxFrame.size.width + 11;
header.personYear.frame = yearFrame;
[header.personYear setNeedsDisplay];
[header.personCollege setNeedsDisplay];
[header.boxView setNeedsDisplay];
問題は、setNeedsDisplay
フレームを変更しないことです。フレームは への呼び出し後にのみ変更されreloadData
ます。フレームをすぐに変更する必要があります。私もautoLayoutを使用しています。