のプロパティKVO
を観察するために使用しています。ユーザーが下に引っ張っているときに、ユーザーが画面から指を離したかのようにスクロール ビューを解放したい。とにかくこれを行うことはありますか?contentOffset
UIScrollView
scrollView
contentOffset.y == -50.0
質問する
311 次
1 に答える
0
はい、オフセットを -50.0 に制限できます。
- (void) observeValueForKeyPath:(NSString*)keyPath
ofObject:(id)object
change:(NSDictionary*)change
context:(void*)context
{
//if this is not the only KVO then you should first perform some checks
//if the object and keypath are correct
//otherwise you can omit the check or modify, if your UIScrollView is subclassed
if ([object isKindOfClass:[UIScrollView class]])
{
UIScrollView *scrl = (UIScrollView *)object;
CGPoint offset = scrl.contentOffset;
if (offset.y < -50.0f)
{
offset.y = -50.0f;
scrl.contentOffset = offset;
}
}
}
このコードをscrollView
デリゲート メソッド (など) に移動することを検討してください。KVO は優れたツールですが、値を急速に変更するにはコストdidScroll:
がかかりすぎる可能性があります。
于 2013-04-26T16:33:21.843 に答える