Ios UIScrollview第二次显示不正确

Ios UIScrollview第二次显示不正确,ios,uiviewcontroller,uiscrollview,Ios,Uiviewcontroller,Uiscrollview,我有一个UIScrollview,它加载良好,显示良好,一切都很好。然后我推另一个视图控制器,称之为VC2,它也可以正常工作。从VC2我弹出返回UIScrollview,这里是奇怪的行为。。。当UIScrollview返回时,从顶部开始的第一个(我猜)300像素将被切掉。我仍然可以看到的内容,如果我拉下来的网页,但显然这不是我的工作。有人有什么想法吗 代码如下: -(void)viewWillAppear:(BOOL)animated { scrollView.frame = CGRectMak

我有一个UIScrollview,它加载良好,显示良好,一切都很好。然后我推另一个视图控制器,称之为VC2,它也可以正常工作。从VC2我弹出返回UIScrollview,这里是奇怪的行为。。。当UIScrollview返回时,从顶部开始的第一个(我猜)300像素将被切掉。我仍然可以看到的内容,如果我拉下来的网页,但显然这不是我的工作。有人有什么想法吗

代码如下:

-(void)viewWillAppear:(BOOL)animated
{
scrollView.frame = CGRectMake(0, 0, 320, 890);
}
这将创建滚动视图:

-(IBAction)startNewSearch:(id)sender
{
NewSearch *VCscrollView = [[NewSearch alloc] init];
[[self navigationController] pushViewController:VCscrollView animated:YES];
}
-(IBAction)previewSearch:(id)sender
{   
VCcontactServer *VC2 = [[VCcontactServer alloc] init];
[[self navigationController] pushViewController:VC2 animated:YES];
}
滚动视图

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
    // Custom initialization
}
return self;
}

- (void)viewDidLoad
{
[super viewDidLoad];
scrollView.contentSize = CGSizeMake(320, 890);
[scrollView setContentOffset:CGPointMake(0, 0) animated:NO];
[scrollView flashScrollIndicators];
}

-(void)viewWillAppear:(BOOL)animated
{
scrollView.frame = CGRectMake(0, 0, 320, 890);
}

- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
从ScrollView中调用VC2的iAction:

-(IBAction)startNewSearch:(id)sender
{
NewSearch *VCscrollView = [[NewSearch alloc] init];
[[self navigationController] pushViewController:VCscrollView animated:YES];
}
-(IBAction)previewSearch:(id)sender
{   
VCcontactServer *VC2 = [[VCcontactServer alloc] init];
[[self navigationController] pushViewController:VC2 animated:YES];
}

正确答案的功劳归于安德烈·索洛维耶夫,但不幸的是,他没有为我发帖来表扬他。添加代码:

-(void)viewWillAppear:(BOOL)animated
{
scrollView.frame = CGRectMake(0, 0, 320, 890);
}

修复了如上所述的问题。问题的根源变得更加复杂,超出了我的问题范围。

正确答案的功劳归于安德烈·索洛维耶夫,但不幸的是,他没有为我发帖表扬他。添加代码:

-(void)viewWillAppear:(BOOL)animated
{
scrollView.frame = CGRectMake(0, 0, 320, 890);
}

修复了如上所述的问题。问题的根源更加复杂,超出了我的问题范围。

尝试检查scrollView的autoresizingMaskI,并尝试使用scrollView.autoresizingMask=UIViewAutoResizingOne;并尝试使用scrollView.autoresizingMask=(UIViewAutoresizingFlexibleWidth | UIViewAutoResizingFlexibleHight);但同样的结果。顺便说一句,我在viewDidLoad中使用了这些命令。快速且不好的解决方案是为您的scrollView设置框架,在ViewWillDisplay中显示,但您必须找出scrollView调整大小的原因。可能是您的scrollView的superview没有正确调整大小?如果您发布代码,创建scrollView,将其添加到子视图和loadView,viewDidLoad,如果您有ViewDidIssue/Englishe,则更好,然后tooAndrey,您的快速工作。我仍然不明白为什么我会有这个问题。到目前为止,它都是相当标准的代码,没有真正的修改或添加。如果你能对我的问题做出正确的回答,我会很高兴地用答案向你核实。谢谢。您是否将scrollView添加到self.view?它在界面生成器中吗?如果是,请尝试在loadView中手动创建ScrollView,如果问题将消失,则应更改xib中的某些属性。否则,您将在其他地方执行某些操作,我们需要更多的代码,其中您已经处理了scrollView和它的superview。请尝试检查scrollView的autoresizingMaskI尝试使用scrollView.autoresizingMask=UIViewAutoResizingOne;并尝试使用scrollView.autoresizingMask=(UIViewAutoresizingFlexibleWidth | UIViewAutoResizingFlexibleHight);但同样的结果。顺便说一句,我在viewDidLoad中使用了这些命令。快速且不好的解决方案是为您的scrollView设置框架,在ViewWillDisplay中显示,但您必须找出scrollView调整大小的原因。可能是您的scrollView的superview没有正确调整大小?如果您发布代码,创建scrollView,将其添加到子视图和loadView,viewDidLoad,如果您有ViewDidIssue/Englishe,则更好,然后tooAndrey,您的快速工作。我仍然不明白为什么我会有这个问题。到目前为止,它都是相当标准的代码,没有真正的修改或添加。如果你能对我的问题做出正确的回答,我会很高兴地用答案向你核实。谢谢。您是否将scrollView添加到self.view?它在界面生成器中吗?如果是,请尝试在loadView中手动创建ScrollView,如果问题将消失,则应更改xib中的某些属性。否则,您将在其他地方执行某些操作,我们需要更多的代码,您需要处理scrollView和它的superview。