【问题标题】:iPhone + UIScrollViewiPhone + UIScrollView
【发布时间】:2009-12-08 09:43:00
【问题描述】:

我在屏幕上有一个 UIScrollView。

滚动视图包含一个包含 UIButton 的视图。

问题是,在滚动视图时,如果我按下滚动视图之间的任何按钮,我的滚动视图将弹回屏幕顶部或底部,这意味着它不会保留在我按下按钮的位置。

【问题讨论】:

  • 嘿伙计!你介意把注意力集中在你自己的问题上,并对我和艾伦给你的答案发表评论吗?

标签: iphone uiscrollview


【解决方案1】:

看看 UIScrollViewDelegate 类。您想禁用按钮,同时 滚动开始滚动完成后启用它。

【讨论】:

  • 你就像某种心灵感应者,从第一张照片开始就猜测作者真正在说什么...... :)
  • 我希望。 :) 更多的是“去过那里,做过那个”,不想看到其他人遇到这个问题。
【解决方案2】:

我已经重现了您在问题中描述的情况(至少我是这么认为的):一个 UIScrollView、一个 UIScrollView 内的 UIView 和一个 UIView 内的 UIButton。

我尝试点击滚动视图并在按钮上移动手指,但没有让它弹到顶部或类似的东西。我也尝试在滚动滚动后点击按钮,它也没有副作用。

所以我的猜测是你正在处理的是这样的:一个 UINavigationController 和你 UIScroll-UIView-UIButton UIViewController 作为根视图控制器;在被点击后,UIButton 将一个新的 UIViewController 推送到 UINavigationController;然后你回到 UINavigationController 堆栈中的前一个 UIViewController,这就是你失去滚动位置的时候。

如果我的猜测是正确的,那么这就是你需要做的。

在推送新的 UIViewController 之前,请使用以下代码保存滚动视图的当前内容偏移量:

[[NSUserDefaults standardUserDefaults] setObject:NSStringFromCGPoint(theScrollView.contentOffset) forKey:@"ScrollViewLastContentOffset"];

在您返回 UIScrollView UIViewController 后,在您的 viewWillAppear: 方法中使用以下代码:

- (void)viewWillAppear:(BOOL)animated {
 [super viewWillAppear:animated];

 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
 if ([defaults stringForKey:@"ScrollViewLastContentOffset"] != nil) {
  theScrollView.contentOffset = CGPointFromString([defaults stringForKey:@"ScrollViewLastContentOffset"]);
  [defaults removeObjectForKey:@"ScrollViewLastContentOffset"];
 }
}

即使我的猜测错了,请对我和艾伦的回答发表评论并确认/反驳他们,以便我们能够帮助您。您是否介意提供有关您的问题的更多详细信息,这样我们就无需再猜测到底发生了什么。

【讨论】:

    【解决方案3】:

    如果我理解正确,您的按钮在滚动视图内吗?当按下时,您希望他们停止滚动或将滚动视图移动到特定点?比如顶部还是底部?如果是这样,请使用 myScrollView.contentOffset = CGPointMake(0, 0); 并指定您需要的 x 和 y 值。因此,该示例中的 (0, 0) 将是左上角。

    如果您想为这个过渡设置动画,您可能还想尝试[myScrollView setContentOffset:CGPointMake(0, 0) animated:YES];

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-29
      • 2012-04-19
      • 2012-11-19
      • 2011-04-12
      • 1970-01-01
      相关资源
      最近更新 更多