xib中的view的子控件赋值方法

给xib中的子控件赋值的方法有3种:

1、通过UIview的subviews来获取想要赋值的子控件,然后给获取到的控件赋值就行:

 UIImageView *imageView = appInfoView.subviews[2];
 imageView.image = [UIImage imageNamed:@"icon_00"];

上面的代码中的appInfoView是xib中的一个view的实例,里面有一个image View子控件,一个button子控件和一个Label子控件,其中imageView子控件在最后。

subviews是UIview的一个属性,类型为NSArray ,用来存放UIview的子控件,通过subviews的getter方法可以得到view中的所有子控件的集合,集合的第二个索引值存放有xib中的view的imageView子控件,拿到子控件后给它赋值就行。

2、通过Tag来获取子控件,再赋值:

 UILabel *label = [appInfoView viewWithTag:12];
 label.text = @"appName";

在xib中设置子控件的Tag值,通过UIview的方法viewWithTag:来获取想要的子控件;

在上面的代码的程序中,xib中的view的一个label的子控件的Tag值被设置为12,通过方法viewWithTag:12就能得到label子控件,赋值为appName。

3、自定义一个UIView的子类,把xib中的view的子控件Outlet连接到自定义view类中,通过自定义view的实例来获取想要赋值的子控件

 XCAppInfoView *appInfoView   = [[[NSBundle mainBundle] loadNibNamed:@"AppInfoView" owner:nil options:nil] lastObject];
 appInfoView.appImageView.image = [UIImage imageNamed: [self.appInfos[i] valueForKey:@"icon"]];
 appInfoView.appNameLabel.text = [self.appInfos[i] valueForKey:@"name"];

XCAppInfoView 是UIView的一个子类,里面有两个属性appImageView 和appNameLabel 分别对应AppInfoView.xib中的一个view的子控件ImageView和Label

原文地址:https://www.cnblogs.com/panxiaochun/p/5023757.html