コレクション ビューとテーブル ビューの両方のコンテンツ ビューの下部にビューを追加したい (したがって、あらゆる種類のスクロール ビューに適用できます) また、下にスクロールしてこのビューを表示できるようにしたいと考えています。
- (id)initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];
if (self) {
// Observe change in content size so can move my view when
// content size changes (keep it at the bottom)
[self addObserver:self forKeyPath:@"contentSize"
options:(NSKeyValueObservingOptionPrior)
context:nil];
CGRect frame = CGRectMake(0, 0, 200, 30);
self.loadingView = [[UIView alloc] initWithFrame:frame];
[self.loadingView setBackgroundColor:[UIColor blackColor]];
[self addSubview:self.loadingView];
// Increase height of content view so that can scroll to my view.
self.contentSize = CGSizeMake(self.contentSize.width, self.contentSize.height+30);
}
return self;
}
ただし、たとえばセルが挿入されると、contentSize が再計算され、コンテンツ サイズの下部にビューがまだ表示されている間 (スクロール ビューをバウンスできるため)、スクロールできなくなります。
私のコードのように、コンテンツのサイズが 30 ポイント高いままであることを確認するにはどうすればよいですか?
追加の質問は次のとおりです。
- コンテンツのサイズを観察する以外に追跡する方法はありますか?
前もって感謝します。
私が試してみました:
- (void)layoutSubviews
{
[super layoutSubviews];
self.contentSize = CGSizeMake(self.contentSize.width, self.contentSize.height+30);
}
ただし、これによりあらゆる種類の表示上の問題が発生します。