我有一个使用pagecontrol的UIscrollView。我在代码中将表添加到scrollview。 tableviews的每边应该有20px的填充。所以我做了以下几点。
CGRect frame = self.scrollView.bounds;
frame.size.width = 280.0f;
frame.size.height = self.scrollView.bounds.size.height;
frame.origin.x = (320 * page)+20;
NSLog(@"orgin x is %d",(320 * page)+20);
NSLog(@"orgin x is %f",frame.origin.x);
frame.origin.y = 0;
UITableView *tableStage = [[UITableView alloc]initWithFrame:frame];
tableStage.backgroundColor = [UIColor colorWithRed:(250/255.0) green:(248/255.0) blue:(247/255.0) alpha:100];
tableStage.delegate = self;
tableStage.dataSource = self;
tableStage.tag = page;
tableStage.contentMode = UIViewContentModeScaleAspectFit;
[self.scrollView addSubview:tableStage];
[self.pageViews replaceObjectAtIndex:page withObject:tableStage];
但是我得到了以下结果。
就像你可以看到下一个tableview总是向左移动一些东西。知道如何解决这个问题吗?
答案 0 :(得分:1)
试试这个
CGRect frame = self.scrollView.bounds;
float offset=20;
frame.size.width = frame.size.width-(2*offset);
frame.origin.x = (320 * page)+offset;
frame.origin.y = 0;
UITableView *tableStage = [[UITableView alloc]initWithFrame:frame];
并且不需要这一行
tableStage.contentMode = UIViewContentModeScaleAspectFit;
答案 1 :(得分:0)
CGRect frame = self.scrollView.bounds;
frame.size.width = 280.0f;
frame.size.height = self.scrollView.bounds.size.height;
frame.origin.x = (self.scrollView.bounds.size.width * page)+(self.scrollView.bounds.size.width - (frame.size.width/2));
frame.origin.y = 0;
答案 2 :(得分:0)
如果您正确设置了内容大小以及每个新表视图的位置,它将完美地工作。还可以启用分页。