拉下UIScrollView并保持y位置

我想在UIScrollView被拉到某一点时触发一个动作。 这就是我现在所拥有的:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView { if (scrollView.contentOffset.y == -100.0) { NSLog(@"Trigger"); [scrollView setContentOffset:CGPointMake(0.0, -200.0) animated:YES]; } } 

这种工作,直到我结束我的触摸事件,然后UIScrollView返回到它的原始位置。 任何想法如何解决这个问题?

检查范围而不是单个像素,因为scrollView不会逐个像素地向后滚动。 添加如下所示的检查 –

 if (scrollView.contentOffset.y < -100.0 && scrollView.contentOffset.y > -110.0) { //call your method } 

我无法find源滚动和保持scrollview的位置在这里是代码。

对于你想要设置滚动视图,并保持这样做的视图..

Viewcontroller.h
@property(弱,非primefaces)IBOutlet UIScrollView * scrollView; //从接口生成器@property(弱,非primefaces)IBOutlet UIView * contentView; //从接口

最后,界面层次结构应该像这样 – > scrollView – > contentView – > view viewController.m

 -(void)viewDidLayoutSubviews 

{

 [super viewDidLayoutSubviews]; [self.scrollView layoutIfNeeded]; self.scrollView.contentSize = self.contentView.bounds.size; 

}

//当返回键按下时,closuresscrollView。你可以把这个代码放在任何你想要的地方

  • (BOOL)textFieldShouldReturn:(UITextField *)textField {

    self.scrollView.contentSize = self.view.frame.size;

    返回YES;

}

欲了解更多信息检查此.. http://spin.atomicobject.com/2014/03/05/uiscrollview-autolayout-ios/我希望这可以帮助一个&#x4EBA;..