使用快捷方式创建按钮和标签

时间:2015-04-30 05:59:34

标签: ios label

我是iOS编码的新手,我正在创建标签和按钮。我必须为每个标签和按钮编写相同的代码。是否有任何方式或代码可以简单地制作所有按钮和标签?

这些是我的代码,用相同的代码制作2个标签,只有名称不同。

  UILabel *lbl1 = [[UILabel alloc]initWithFrame:CGRectMake(5, 10, 30,30)];
  [lbl1 setText:@"User Name"];
  lbl1.backgroundColor=[UIColor clearColor];
  [self.view addSubview:lbl1];


  UILabel *lbl2 = [[UILabel alloc]initWithFrame:CGRectMake(105, 100, 30, 30)];
  [lbl2 setText:@"Age"];
  lbl2.backgroundColor=[UIColor clearColor];
  [self.view addSubview:lbl2];

感谢

2 个答案:

答案 0 :(得分:2)

您可以使用storyboard(这也有助于可视化)。如果您坚持通过代码生成用户界面,则应构建自定义方法,例如

- (void)createLabelWithFrame:(CGRect)frame andText:(NSString *)text {
    UILabel *lbl = [[UILabel alloc]initWithFrame:frame];
    [lbl setText:text];
    lbl.backgroundColor=[UIColor clearColor];
    [self.view addSubview:lbl];
}

你可以反复打电话。

答案 1 :(得分:1)

你可以这样做:

- (void)addLabelWithFrame:(CGRect)frame andText:(NSString *)text andTag:(int)tagValue {
     UILabel *lbl = [[UILabel alloc]initWithFrame:frame];
     [lbl setText:text];
     [lbl setTag:tagValue]; // To Uniquely Identify you label
     lbl.backgroundColor=[UIColor clearColor];
     [self.view addSubview:lbl];
}

将此方法称为:

for(int i=0;i<numberOfLabel;i++){

    [self addLabelWithFrame:passYourFrameHere andText:@"text to show" andTag:i];
}

并在循环外获取标签尝试

UILabel *lbl = [self.view viewWithTag:passYourTag];

更新:

如果你把它放在AppDelegate中那么

 AppDelegate *refAppDelegate = [[UIApplication SharedApplication] delegate]
 [refAppDelegate addLabelWithFrame:yourFrame andText:@"text" andTag:1];

希望这会对你有所帮助。