1

我浏览了许多博客、堆栈流问题并搜索了很多,但没有得到任何解决方案来让我的 ScrollView 工作。我不知道为什么,但我的 ScrollView 可以在纵向模式下工作,但不能在横向模式下工作。

我正在为 ios 7 设备使用 xcode 5 进行开发。我使用情节提要开发了我的屏幕。我在故事板上添加了一个 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

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

4

2 回答 2

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);
}

笔记

内容大小应该大于滚动视图大小。向右滚动?

于 2013-09-30T17:27:23.967 回答
0

您想在滚动视图检查scrollView高度中添加滚动。

如果scrollView.height > scrollview.content.height滚动视图没有滚动。但是scrollView.height < scrollview.content.height滚动视图会滚动....

所以,滚动视图的内容高度大于滚动视图的高度是滚动所必需的。

因此,您应该执行以下操作:

scrollView.contentSize.height=scrollView.height+50

于 2013-10-01T06:05:15.970 回答