【问题标题】:UIScrollView contentOffset jumps after animation - in 3.0 beta 5UIScrollView contentOffset 在动画后跳转 - 在 3.0 beta 5
【发布时间】:2009-05-21 11:42:37
【问题描述】:

我有一个 UIScrollView,上面有一些 UITextFields。当用户编辑文本字段时,它会滚动以使 UITextField 居中。我遇到的问题是 UIScrollView 滚动到正确的位置,但在动画的最后一帧它跳转到 300,300。它在 2.2.1 中运行良好,但在 3.0 beta 5 中却不行。它也总是跳到正好 300,300。奇怪的是,当我调用 returnScrollAfterEdit 方法来移动滚动视图时,它工作得很好。有什么想法会导致这种情况吗?

- (void)scrollViewToCenterOfScreen:(UIView *)field withKeyboard:(bool)withKeyboard { CGFloat viewCenterY = field.center.y; CGRect applicationFrame = [[UIScreen mainScreen] applicationFrame]; CGFloat availableHeight = applicationFrame.size.height - 215; CGFloat y = viewCenterY - availableHeight / 2.0; NSLog([NSString stringWithFormat:@"w:%f h%favailH:%f y:%f x:%f", applicationFrame.size.width, applicationFrame.size.height, availableHeight, y, self.contentOffset.x]); 如果 (y

【问题讨论】:

  • 已在 3.0 发行版中修复。

标签: iphone uiscrollview


【解决方案1】:

我不确定这是否正是您正在寻找的,但 UITextView 也有一些疯狂的问题。如果我在视图中选择了任何文本,它将滚动到框架的底部。我通过在将文本添加到 UITextView 之前关闭 scrollEnabled 来解决此问题。

所以代码看起来像这样:

[textarea setText:@""]; //blank out the text to scroll back to the top
[textarea setScrollEnabled:NO]; //disable to avoid scrolling
[textarea setText:@"new text here"]; 
[textarea setScrollEnabled:YES];
[textarea resignFirstResponder]; //to drop annoying blue

我希望这会有所帮助。

【讨论】:

  • 我最终更改了 GUI 以避免这种情况,但下次遇到它时我会尝试一下。
【解决方案2】:

已在 3.0 的发布版本中修复

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多