Interface Builder中的UIScrollView不滚动

Posted

技术标签:

【中文标题】Interface Builder中的UIScrollView不滚动【英文标题】:UIScrollView in Interface Builder not scrolling 【发布时间】:2013-12-17 05:54:28 【问题描述】:

所以我试图在我的 UI 中放置一个图像,并且我已经尝试设置内容大小。

- (void)viewDidLoad
    //[super viewDidLoad];
    _trendingImageView.image = [UIImage imageNamed:@"trending.png"];
    [self.scrollView setContentSize:CGSizeMake(2000, 2000)];

-(void)viewWillAppear:(BOOL)animated
    [super viewWillAppear: animated];
    NSLog(@"VIEW WILL APPEAR BEING CALLED");
    self.rateView.notSelectedStar =[UIImage imageNamed:@"star-off.png"];
    self.rateView.fullSelectedStar = [UIImage imageNamed:@"star-on.png"];
    self.rateView.rating = self.rating;
    self.rateView.editable = YES;
    self.rateView.maxRating = 5;
    self.rateView.delegate = self;
    _pageTitleLabel.text = _pageTitle;
    //_pageScoreLabel.text = _pageScore;
    _trendingImageView.image = [UIImage imageNamed:@"trending.png"];
    _restaurantImageView.image = _restaurantImage;
    _descriptionView.text = _description;
    [self.scrollView setContentSize:CGSizeMake(2000,2000)];

scrollView 变量连接到界面构建器中的滚动视图。这个滚动视图在另一个视图中,并且它有子视图。

为什么不滚动?

这是滚动视图-

SCROLL VIEW : <UIScrollView: 0xac73010; frame = (0 -108; 320 676); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0xac73bd0>; layer = <CALayer: 0xac731e0>; contentOffset: 0, 0>

【问题讨论】:

你设置了scrollView的代理吗? 哦,我还没有设置委托 - 我该怎么做? 设置委托与你的问题无关。您是否记录了 self.scrollView 以确保它不为零? 是的-我已经在问题中输入了输出 你把你的项目发到网上,我帮你解决。 【参考方案1】:

在您的 viewDidLoad 方法中添加此行:

   self.scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 2000, 2000)];
   [self.scrollView setScrollEnabled:YES];
   [self.scrollView setClipsToBounds:YES];
   self.scrollView.delegate = self;

还要确保您符合 .h 文件中的&lt;UIScrollViewDelegate&gt;。最后,无需将 contentsize 设置为 viewDidLoadviewWillAppear。只保留在viewDidLoad

【讨论】:

委托与让滚动视图滚动无关。 等等——我需要实现这一切吗? developer.apple.com/library/ios/documentation/uikit/reference/… 他已经在 IB 中添加了一个滚动视图。他为什么要创造一个新的?此外,如果您将框架设置为与 contentView 相同的大小,则它不会滚动。 rdelmar - 您对可能出现的问题有任何想法吗? @praks5432,您可能希望用于其他目的,但您不需要实现委托协议来使滚动视图滚动。

以上是关于Interface Builder中的UIScrollView不滚动的主要内容,如果未能解决你的问题,请参考以下文章

了解 Interface Builder 中的 Outlets

Interface Builder中的UIScrollView不滚动

Interface builder中的NSWindowController对象链接

Interface Builder 中的自定义字体

Interface Builder 中的相对自动布局约束

Interface Builder中的WKWebView