为什么我的UIScrollView不起作用?

时间:2013-04-25 09:25:44

标签: iphone objective-c xcode uiscrollview scroll

我在UIScrollView ViewController中放置IB,并将视图提供给tag:1。在viewDidLoad:中,我有以下代码:

UIScrollView *scrollView = (id)[self.view viewWithTag:1];

scrollView.backgroundColor = [UIColor clearColor];
scrollView.opaque = NO;

[scrollView setScrollEnabled:YES];
[scrollView setContentSize:CGSizeMake(320, 800)];

我在ScrollView中有一个滑块和一个标签,只是为了看它是否滚动,但它根本不滚动。我可以将backgroundColor更改为例如yellowColor,但不会滚动。是否有必须添加的方法或操作?请帮忙! :)

5 个答案:

答案 0 :(得分:2)

不久前我遇到了同样的问题,但这就行了。

使用 - (void)viewDidAppear:(BOOL)animated {     ...     }

-(void)viewDidAppear:(BOOL)animated  {

    [super viewDidAppear:YES];

    scrollView.backgroundColor = [UIColor clearColor];

    scrollView.opaque = NO;

    [scrollView setScrollEnabled:YES];

    [scrollView setContentSize:CGSizeMake(320, 800)];

    [super viewDidLoad];
}

还在标题中声明UIScrollView

@property (retain, nonatomic) IBOutlet UIScrollView *scrollView;

答案 1 :(得分:2)

尝试这样

UIScrollView *scrollView = (id)[self.view viewWithTag:1];
scrollView.frame=CGRectMake(0, 0, 320, 460);
[self.view addSubview:scrollView];
scrollView.backgroundColor = [UIColor clearColor];
scrollView.opaque = NO;
[scrollView setScrollEnabled:YES];
[scrollView setContentSize:CGSizeMake(320, 800)]; 

因为当滚动视图高度越过当前视图高度时,只有它可以滚动。

答案 2 :(得分:0)

scrollView.backgroundColor = [UIColor clearColor];

将其更改为明亮的红色或绿色以进行测试。

UIScrollView *scrollView = (id)[self.view viewWithTag:1];
scrollView.backgroundColor = [UIColor clearColor];

还要确保您的滚动视图不是零(从[self.view viewWithtag:1]获取后。否则代码似乎没问题

编辑

在界面构建器中选择滚动视图>转到属性编辑器>勾选滚动

enable scrolling

答案 3 :(得分:0)

这可能是设置TopBar为UIView且来自xib的UINavigationBar以及其中的BottomBar的问题...这里来自XIB首先选择主UIView后点击{{1在模拟指标后,将NavigationBar设置为TopBar,并在Attribute Inspector的{​​{1}}设置框架之后。

尝试使用波纹管代码,它会起作用..

UIScrollView

答案 4 :(得分:0)

尝试在viewWillAppear

中添加此代码
UIScrollView *scrollView = (UIScrollView *)[self.view viewWithTag:1];
scrollView.frame=CGRectMake(0, 0, 320, 400);
scrollView.backgroundColor = [UIColor clearColor];
[scrollView setScrollEnabled:YES];
[scrollView setContentSize:CGSizeMake(320, 800)]; 
[scrollView setUserInteractionEnabled:YES];

希望能帮到你