【问题标题】:Uiscrollview not able to add uilabelsuiscrollview 无法添加 uilabels
【发布时间】:2013-12-18 11:19:05
【问题描述】:

我正在尝试将 uilabels 添加到 uiscrollview。我使用 for 循环创建 20 个标签,然后将它们一一添加到滚动视图中。没有用。这是我的代码

-(void)setScrollViews{
    for (int i = 0; i < 80; i++) 
    {
        UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(0, 20 * i,160 , 30)];
        label.font = [UIFont systemFontOfSize:12.0];
        label.textColor = [UIColor blueColor];
        label.text = [NSString stringWithFormat:@"Label number %d", i ];
        label.numberOfLines = 0;
        [label sizeToFit];
        [self.activitiesScrollView setContentSize:CGSizeMake(320, self.activitiesScrollView.frame.size.height + 20)];
        [self.activitiesScrollView addSubview:label];
        [self.view addSubview:self.activitiesScrollView];
   }
}

我正在使用故事板。我也试过alloc init,但还是失败了。我确实在viewdidload 中设置了代表。我更改了滚动视图的背景图像以检查它是否在屏幕上。

编辑:现在可以了,我所做的只是重新启动 Xcode

【问题讨论】:

  • 你在哪里调用setScrollViews方法?
  • 你也可以发布那部分吗?你是在分配activityScrollView吗?如果您使用情节提要,为什么要在 self.view 中添加 activityScrollView 作为子视图。而是你可以放在xib中对吗?
  • 检查您的 xib 文件以查看 activitiesScrollView 出口是否已连接。
  • @user3097889 添加子视图部分是让这个工作的绝望尝试:(
  • @johnMa 插座已连接

标签: ios objective-c uiscrollview


【解决方案1】:

试试这个:

-(void)setScrollViews{
        for (int i = 0; i < 80; i++) 
        {
            UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(0, 20 * i,160 , 30)];
            label.font = [UIFont systemFontOfSize:12.0];
            label.textColor = [UIColor blueColor];
            label.text = [NSString stringWithFormat:@"Label number %d", i ];
            label.numberOfLines = 0;
            [label sizeToFit];
            [self.activitiesScrollView setContentSize:CGSizeMake(320, self.activitiesScrollView.frame.size.height + 20)];
            [self.activitiesScrollView addSubview:label];
       }
      [self.view addSubview:self.activitiesScrollView];

    }

【讨论】:

    【解决方案2】:

    试试这个。 . .

    您正在循环中向 uiview 添加 20 次滚动视图。这也是你代码的错误部分

    -(void)setScrollViews{
    
        [self.view addSubview:self.activitiesScrollView];
    
        for (int i = 0; i < 80; i++) 
        {
            UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(0, 20 * i,160 , 30)];
            label.font = [UIFont systemFontOfSize:12.0];
            label.textColor = [UIColor blueColor];
            label.text = [NSString stringWithFormat:@"Label number %d", i ];
            label.numberOfLines = 0;
            [label sizeToFit];
            [self.activitiesScrollView addSubview:label];
            [self.activitiesScrollView setContentSize:CGSizeMake(320, self.activitiesScrollView.frame.size.height + 20)];
    
       }
    }
    

    【讨论】:

    • 我不明白。 1.您在分配标签之前添加标签,2即使有效,此代码只会增加滚动视图的大小。还是我错过了什么?
    • 这是一个错误......现在检查一下
    猜你喜欢
    • 1970-01-01
    • 2016-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多