Don*_*zzi 5 iphone objective-c uiscrollview ios7
我在使用iOS 7的iPhone中使用UIScrollView时出现问题
我以编程方式创建了水平UIScrollView,我添加了一些彩色按钮,最后我将滚动定位在屏幕顶部.
滚动是一个自定义滚动,所以我可以处理
- (BOOL)touchesShouldCancelInContentView:(UIView *)view {
return YES;
}
Run Code Online (Sandbox Code Playgroud)
和
scroll.canCancelContentTouches = YES;
scroll.delaysContentTouches = YES;
Run Code Online (Sandbox Code Playgroud)
即使按下按钮,也允许滚动移动
一切都很完美,除了屏幕顶部,滚动不动.但我可以按下按钮.如果我放下滚动条(大约30px)我可以在它的上部滚动它(内容大小和框架是正确的)
我使用info.plist设置"查看基于控制器的状态栏外观= NO"删除了iOS 7的状态栏
似乎在状态栏区域我无法拖动滚动.
有什么建议?

编辑:有趣的是,如果在滚动之前,您下拉了通知选项卡,那么滚动甚至在上部也可以工作.当通知选项卡向上移动时,问题返回.好像第一次触摸是由选项卡管理而不是将其传递给滚动
是的,在纯自动布局环境中 UIScrollView 发生了一些奇怪的事情。第二十次重读 iOS SDK 6.0 发行说明,我发现:
\n\n请注意,您可以通过在视图和滚动视图\xe2\x80\x99s 子树外部的视图(例如滚动视图)之间创建约束,使滚动视图的子视图看起来浮动(而不是滚动)在其他滚动内容上。 xe2\x80\x99s 超级视图。
\n\n解决方案
\n\n将子视图连接到外部视图。换句话说,就是嵌入scrollview的视图。
\n\n由于 IB 不允许我们在 imageView 和滚动视图\xe2\x80\x99s 子树之外的视图(例如滚动视图\xe2\x80\x99s 超级视图)之间设置约束,所以我在代码中完成了它。
\n\n- (void)viewDidLoad {\n [super viewDidLoad];\n// Do any additional setup after loading the view, typically from a nib.\n [self.view removeConstraints:[self.view constraints]];\n [self.scrollView removeConstraints:[self.scrollView constraints]];\n [self.imageView removeConstraints:[self.imageView constraints]];\n [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"|[_scrollView]|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_scrollView)]];\n [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[_scrollView]|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_scrollView)]];\n [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"|[_imageView(700)]|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_imageView)]];\n [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[_imageView(1500)]|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_imageView)]];\n}\nRun Code Online (Sandbox Code Playgroud)\n\n和 !它起到了魅力的作用!
\n| 归档时间: |
|
| 查看次数: |
2216 次 |
| 最近记录: |