繁体   English   中英

为什么我的UIScrollView不起作用?

[英]Why does my UIScrollView not work?

我在IB中的ViewController中放置了一个UIScrollView ,并为视图提供了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 ,但它不会滚动。 是否有必须添加的方法或操作? 请帮忙! :)

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

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

-(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;

试试这样

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

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

scrollView.backgroundColor = [UIColor clearColor];

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

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

还要确保你的scrollview不是nil(从[self.view viewWithtag:1]获取之后。否则代码似乎没问题

编辑

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

启用滚动

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

尝试用波纹管代码它会工作..

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

尝试在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];

希望对你有所帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM