我是iOS开发的新手,所以这对某人来说应该是一个简单的问题。 我正在创建一个scrollview(尝试不同的方式,UIScrollView,UITableView,UITableViewController),每次我向下滚动它会自动向上滚动到顶部。为什么会这样?
我理解" scrollsToTop"正在听一些客人滚动到顶部但是设置为NO所以不应该这样。 " pagingEnabled"已被测试为是和否,但没有影响。
尝试实现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函数中有一个断点&#34; scrollViewShouldScrollToTop&#34;但它永远不会被击中。
答案 0 :(得分:5)
如果您点击顶部栏(黑色栏),可能会发生自动滚动到顶部?在任何情况下,您都可以尝试禁用该功能 -
[yourScrollView].scrollsToTop = NO;
这应该适用于tableView
或scrollView
答案 1 :(得分:1)
我使用UIScrollView而不是UITableView,并将contentSize设置为比视图框架更大的东西然后它可以工作。仍然不知道UITableView的问题是什么。
答案 2 :(得分:0)
如果没有足够的项目填充UITableView
中的所有高度 - 它每次都会向后滚动。
您还应该为UIScrollView
设置contentSize属性以使其可滚动。
当用户点击状态栏时,应该滚动到前面提到的顶部。但据我所知,这不是你的问题。
答案 3 :(得分:0)
您应该禁用滚动视图的弹跳属性,在Inrterface构建器中将其设置为NO。