当模拟器设置为横向模式iOS时,查看不滚动

时间:2013-09-30 17:25:02

标签: iphone ios ios7

我经历了很多博客,堆栈流问题和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

我的滚动视图在纵向模式下滚动但不在横向模式下滚动。请帮我。提前致谢。

2 个答案:

答案 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