无法获得滚动视图

时间:2013-09-20 20:22:51

标签: ios objective-c cocoa-touch uiscrollview

我一整天都在尝试在Xcode 5中使用一个非常简单的屏幕滚动工作而无法做到。

即使这个简单的教程也不适合我http://www.youtube.com/watch?v=m5Knw41Tz_M。所有这一切都是向视图控制器添加滚动视图,运行时,它会显示一个可以滚动的空白屏幕 - 由侧边的条形图看到。无论我做什么,我都无法让它发挥作用。我第一次需要滚动,显然我错过了一些非常简单的东西。

简单的.h代码:

@interface ViewController : UIViewController {
    IBOutlet UIScrollView *Scroller;
}

.m代码是

@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad
{
    [super viewDidLoad];
    [Scroller setScrollEnabled:YES];
    [Scroller setContentSize:CGSizeMake(320, 1000)];
}
@end

Scroller已连接到滚动视图,这就是它!我尝试在UIView添加UIScrollview,但似乎没有任何效果。

3 个答案:

答案 0 :(得分:1)

您的代码需要移至viewdidAppearviewWillAppear

尝试将您的方法更改为此

-(void)viewDidAppear:(BOOL)animated{
    [super viewDidAppear:animated];
    [Scroller setScrollEnabled:YES];
    [Scroller setContentSize:CGSizeMake(320, 1000)];
}

答案 1 :(得分:0)

这是有线的,我按照您的代码,如果我将子视图添加到IB中的UIScrollView,则会发生一些事情,将滚动视图内容大小重置为CGSizeZero。如果我按代码添加子视图,滚动视图将是正确的。我还没弄清楚原因。

但是,您可以解决的一件事是您可以设置滚动视图内容大小   - (void)viewDidAppear:(BOOL)动画。

或者按ViewDidLoad中的代码添加子视图。

答案 2 :(得分:0)

我不擅长英语,我只会展示代码是什么有用......

简单的.h代码:

@interface ViewController : UIViewController {
        IBOutlet UIScrollView *Scroller;
}

.m代码是

@interface ViewController ()
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    [NSTimer scheduledTimerWithTimeInterval:1.0/60 target:self selector:@selector(something) userInfo:nil repeats:YES];
}

- (void)something {
    //[Scroller setScrollEnabled:YES]; !!!This don't need..
    [Scroller setContentSize:CGSizeMake(320, 1000)];
}

@end