2 sinat 21299767 sinat_21299767 于 2016.01.30 16:04 提问

当UITableView和UIScrollView共存时,表格视图发生不正常偏移,继而消失不见

界面如图一所示,上方是一个无限滚动视图,下方是表格视图。两者位置互不影响,如图所示。而且我如果移去滚动视图和分页控件,表格视图依然有问题,但是表格视图的getter方法跟我另外一个页面表格视图的getter方法,位置完全一样,那个页面就没问题...
具体问题:当下滑表格视图后,表格视图就一闪一闪的,然后闪几下就没了。

7个回答

sinat_21299767
sinat_21299767   2016.01.30 16:05

![图片说明](http://img.ask.csdn.net/upload/201601/30/1454141112_788616.png)图片说明

sinat_21299767
sinat_21299767   2016.01.30 16:05

图片说明

sinat_21299767
sinat_21299767   2016.01.30 16:05

图片说明

sinat_21299767
sinat_21299767   2016.01.30 16:06

-(UITableView *)listTableView{
if (!_listTableView) {
_listTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 64, VIEW_WIDTH, VIEW_HEIGHT - 64 - CGRectGetHeight(_scrollView.bounds)) style:UITableViewStylePlain];
_listTableView.center = CGPointMake(MID_X, CGRectGetMaxY(_scrollView.frame) + CGRectGetMidY(_listTableView.bounds) + 25);
_listTableView.backgroundColor = [UIColor whiteColor];
_listTableView.dataSource =self;
_listTableView.delegate = self;
_listTableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;
}
return _listTableView;
}

#pragma mark *** UITableViewDelegate,UITableViewDataSource ***

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
// return _sortedKeys.count;//日期
return 7;
}

//设置有多少行
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
// //获取对应key
// NSString *key = _sortedKeys[section];
// //根据key获取对应数组
// NSArray *matchs = _dataSource[key];
// return matchs.count;
return 5;
}

//配置单元格
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
MatchScheduleCustomTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:KReusableCellWithIdentifier];
if (!cell) {
cell = [[MatchScheduleCustomTableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:KReusableCellWithIdentifier];
}
return cell;
}

//设置行高
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
return 80;
}

-(void)initializeUserInterface{
// [self.view addSubview:self.scrollView];
// [self.view addSubview:self.pageControl];
_timer = [NSTimer scheduledTimerWithTimeInterval:1.5f target:self selector:@selector(respondsToTimer) userInfo:nil repeats:YES];
_timer.fireDate = [NSDate dateWithTimeIntervalSinceNow:2.0];
[self insertImageToImageView];
[self.view addSubview:self.listTableView];
}

sinat_21299767
sinat_21299767   2016.01.30 16:06

-(UITableView *)listTableView{
if (!_listTableView) {
_listTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 64, VIEW_WIDTH, VIEW_HEIGHT - 64 - CGRectGetHeight(_scrollView.bounds)) style:UITableViewStylePlain];
_listTableView.center = CGPointMake(MID_X, CGRectGetMaxY(_scrollView.frame) + CGRectGetMidY(_listTableView.bounds) + 25);
_listTableView.backgroundColor = [UIColor whiteColor];
_listTableView.dataSource =self;
_listTableView.delegate = self;
_listTableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;
}
return _listTableView;
}

#pragma mark *** UITableViewDelegate,UITableViewDataSource ***

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
// return _sortedKeys.count;//日期
return 7;
}

//设置有多少行
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
// //获取对应key
// NSString *key = _sortedKeys[section];
// //根据key获取对应数组
// NSArray *matchs = _dataSource[key];
// return matchs.count;
return 5;
}

//配置单元格
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
MatchScheduleCustomTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:KReusableCellWithIdentifier];
if (!cell) {
cell = [[MatchScheduleCustomTableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:KReusableCellWithIdentifier];
}
return cell;
}

//设置行高
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
return 80;
}

-(void)initializeUserInterface{
// [self.view addSubview:self.scrollView];
// [self.view addSubview:self.pageControl];
_timer = [NSTimer scheduledTimerWithTimeInterval:1.5f target:self selector:@selector(respondsToTimer) userInfo:nil repeats:YES];
_timer.fireDate = [NSDate dateWithTimeIntervalSinceNow:2.0];
[self insertImageToImageView];
[self.view addSubview:self.listTableView];
}

sinat_21299767
sinat_21299767   2016.01.30 16:08

self.automaticallyAdjustsScrollViewInsets = NO;

图片说明

最后的结果

sinat_21299767
sinat_21299767   2016.01.30 16:11

图片说明

这是另外一个页面的表格视图和顶部的UIImageView,方法,位置都是一样的

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!