在运行时在UIView中创建控件?

时间:2015-06-25 11:11:23

标签: ios swift cocoa-touch uiview uitextfield

我在视图中有一个UITextField和一个按钮。

  1. 按下按钮后,需要在核心数据表中的fieldID列中搜索文本字段中的值,并获取值[逗号分隔]。

  2. 用逗号分隔字符串并将值赋给数组。

  3. 需要在主屏幕中插入新的UIView并放置N个[数组的数量]标签和文本字段并对齐。

  4. 我能够创建1,2和UIView。

    有人可以帮我在运行时在子UIView中创建N个控件吗?

2 个答案:

答案 0 :(得分:0)

  for(int i=0;i<self.yourArray.count; i++)
  {
      UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10,80*i+60,self.view.frame.size.width-20,60)];
      label.text = [yourArray objectAtIndex:i];
      [self.view addSubview:label];
  }
  

请更清楚地解释您的问题!

答案 1 :(得分:0)

May be your array count is very large so take a scroll view also in your view   

 UIScrollView* yourScrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(yourView.frame.origin.x, yourView.frame.origin.y,yourView.frame.size.width,yourView.frame.size.height)];
        for(int i= 0; i< 10;i++)
        {
            UILabel* lbl = [[UILabel alloc]initWithFrame:CGRectMake(10, y, 50, 21)];
            lbl.text = @"";
            UITextField* txtField = [[UITextField alloc]initWithFrame:CGRectMake(lbl.frame.origin.x+10 , y, 200, 21)];
            txtField.text = @"";
            [yourScrollView addSubview:lbl];
            [yourScrollView addSubview:txtField];
            y = y+30;
        }
    [yourView addSubview:yourScrollView];