您的位置:首页 > 其它

关于在自定义初始化方法里给text赋值失败的解决

2015-10-29 15:20 423 查看
看到了比较好的解答,猛戳:点击打开链接

因为init比viewdidload之前执行 而label,text之类的控件都是在viewdidload里初始化,所以会出现上面的问题,解决这个问题的办法就是 在view中声明NSString类型的property 用这个string来接受赋值 然后在viewwillappear里面完成对text的赋值 代码如下:

- (void)viewWillAppear:(BOOL)animated{

_contactsText.text =
_contactsString;

_phoneNumberText.text =
_phoneNumberString;

_addressText.text =
_addressString;

_zipCodeText.text =
_zipCodeString;

if (_provincesString !=nil) {

_provincesTextField.text =
_provincesString;

_citiesTextField.text =
_citiesString;

_districtsTextField.text =
_distritsString;

}else{

NSMutableArray *bandArrayProvinces = [[NSMutableArray
alloc]init];

[bandArrayProvinces addObject:@"请选择"];

[bandArrayProvinces addObject:@"江苏省"];

[bandArrayProvinces addObject:@"北京市"];

[bandArrayProvinces addObject:@"山东省"];

[bandArrayProvinces addObject:@"上海市"];

[bandArrayProvinces addObject:@"广东省"];

NSMutableArray *bandArrayCities = [[NSMutableArray
alloc]initWithObjects:@"请选择",@"盐城市",@"上海市",@"南京市",@"广州市"
,nil];

NSMutableArray *bandArrayDistricts = [[NSMutableArray
alloc]initWithObjects:@"请选择",@"江宁区",@"白下区",@"建邺区",@"浦口区",@"鼓楼区",
nil];

_downPickerProvinces = [[DownPicker
alloc]initWithTextField:_provincesTextField
withData:(NSArray *)bandArrayProvinces];

_downPickerCities = [[DownPicker
alloc]initWithTextField:_citiesTextField
withData:bandArrayCities];

_downPickerDistricts = [[DownPicker
alloc]initWithTextField:_districtsTextField
withData:bandArrayDistricts];

//1.如果用户不填写收货人和手机号码
那么省市区三个不能选择

if (!(_contactsText.text.length ==
0) || (_phoneNumberText.text.length ==0)) {

_provincesTextField.enabled =
NO;

_citiesTextField.enabled =
NO;

_districtsTextField.enabled =
NO;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: