我经历了很多博客,堆栈流问题和googled很多,但没有得到任何解决方案来让我的ScrollView工作。我不知道为什么,但我的ScrollView在纵向模式下工作,但在横向模式下不工作。
我正在使用xcode 5开发ios 7设备。我用故事板开发了我的屏幕。我在故事板上添加了一个ViewController,删除了它包含的默认UIView,并添加了一个ScrollView。在那个ScrollView中我添加了我的子视图。然后我将ScrollView引用到出口中的scrollview对象。
这是我的LoginViewController.h
#import <UIKit/UIKit.h>
@interface LoginViewController : UIViewController
@property (nonatomic, retain) IBOutlet UIScrollView *scrollView;
@end
这是我的LoginViewController.m
#import "LoginViewController.h"
@interface LoginViewController ()
@end
@implementation LoginViewController
@synthesize scrollView;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
scrollView.contentSize = CGSizeMake(scrollView.frame.size.width, scrollView.frame.size.height);
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
我的滚动视图在纵向模式下滚动但不在横向模式下滚动。请帮我。提前致谢。
答案 0 :(得分:3)
在屏幕方向上重置滚动视图内容大小:
scrollView.contentSize = CGSizeMake(scrollView.frame.size.width, scrollView.frame.size.height);
滚动视图框架很可能会更改,因此您需要重新设置内容大小。
如果你在layoutSubviews中设置了内容大小的自动布局:
- (void) layoutSubviews
{
[super layoutSubviews];
scrollView.contentSize = CGSizeMake(scrollView.frame.size.width, scrollView.frame.size.height);
}
注意强>
内容大小应该大于滚动视图大小。向右滚动?
答案 1 :(得分:0)
您想要在滚动视图中添加滚动,请检查scrollView
高度。
如果scrollView.height > scrollview.content.height
scrollview没有滚动。但是scrollView.height < scrollview.content.height
scrollview会滚动....
因此,scrollview的内容高度大于滚动视图所需的滚动视图高度。
因此,您应该这样做:
scrollView.contentSize.height=scrollView.height+50