繁体   English   中英

iOS滚动视图禁用自动滚动到顶部

[英]iOS scroll view disable auto scroll to top

我是iOS开发的新手,所以这对某人来说应该是一个简单的问题。 我正在创建一个scrollview(尝试不同的方式,UIScrollView,UITableView,UITableViewController),每次我向下滚动它会自动向上滚动到顶部。 为什么会这样?

我理解“scrollsToTop”正在监听一些客户滚动到顶部但是设置为NO所以不应该这样。 “pagingEnabled”已被测试为YES和NO,但没有影响。

试图实现一个UITableViewDelegate并覆盖scrollViewShouldSrollToTop函数并返回NO但该函数永远不会被调用,即使它被设置为tableView的委托。

@interface Scroller : NSObject<UITableViewDelegate>

@implementation
- (BOOL)scrollViewShouldScrollToTop:(UIScrollView )scrollView {return NO;}

// Did finish launching application
tableView = [[UITableView alloc] initWithFrame:tableRect style:UITableViewStyleGrouped];
self->tableView.pagingEnabled = NO;
tableView.scrollsToTop = NO;
[tableView setScrollsToTop:NO]; 
static Scroller s = [[Scroller alloc] init];
tableView.delegate = s;

别介意格式化。 一切都搞得一团糟。 tableView属于应用程序委托,在..didFinishLaunchingWithOptions:...函数中调用。 我在Scroller函数“scrollViewShouldScrollToTop”中有一个断点但它永远不会被击中。

如果您点击顶部栏(黑色栏),可能会发生自动滚动到顶部? 在任何情况下,您都可以尝试禁用该功能 -

[yourScrollView].scrollsToTop = NO;

这应该适用于tableViewscrollView

我使用UIScrollView而不是UITableView,并将contentSize设置为比视图框架更大的东西然后它可以工作。 仍然不知道UITableView的问题是什么。

您应该禁用滚动视图的弹跳属性,在Inrterface构建器中将其设置为NO。

如果没有足够的项目来填充UITableView所有高度 - 它每次都会向后滚动。 您还应该为UIScrollView设置contentSize属性以使其可滚动。

当用户点击状态栏时,应该发生前面提到的滚动到顶部。 但据我所知,这不是你的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM