我必须UIScrollView
显示更长的文本视图、字段和图像列表。在viewDidAppear
我适当地设置了 contentSize 并且我还添加了这个代码,didRotateFromInterfaceOrientation
以便UIScrollView
contentSize 根据方向调整大小。
问题是,当视图第一次出现时UIScrollView
没有响应(我无法滚动),但在旋转设备后didRotateFromInterfaceOrientation
调用代码并且一切正常。(如果我以横向启动应用程序,我只能滚动一点以查看通常以纵向模式显示的内容,而不是扩展内容 - 忽略我定义的 scrollView)
代码是一样的viewDidAppear
,didRotateFromInterfaceOrientation
为什么scrollView
轮换后唯一的响应?任何帮助表示赞赏。
NSLog
两种方法中消息的输出是相同的。
@property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
- (void) viewDidAppear:(BOOL)animated{
//If not an iPad set the scrollview to allow scrolling of view
if (!([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad)) {
self.scrollView.contentSize= CGSizeMake(self.view.frame.size.width,1000);
[self.scrollView setUserInteractionEnabled:YES];
}
if(self.scrollView.userInteractionEnabled){
NSLog(@"DEBUG scrollview height : %f",self.scrollView.contentSize.height);
NSLog(@"DEBUG scrollview width : %f",self.scrollView.contentSize.width);
}
}
-(void) didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation{
//If not an iPad set the scrollview
if (!([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad)) {
self.scrollView.contentSize= CGSizeMake(self.view.frame.size.width,1000);
}
if(self.scrollView.userInteractionEnabled){
NSLog(@"DEBUG scrollview height : %f",self.scrollView.contentSize.height);
NSLog(@"DEBUG scrollview width : %f",self.scrollView.contentSize.width);
}
}