2013-05-28 82 views
0

在我的应用程序中,我的viewcontroller中有5个UIView,每个视图都有6个UILabel。 对于每个标签我在每个视图中设置一个标记,例如:IOS:管理某些UIViews中的元素

在第一的UIView:firtLabel标签101,secondLabel标签102个EXC ... 在第二的UIView:firtLabel标签101,secondLabel标签102 EXC ... 在第三的UIView:firtLabel标签101,secondLabel标签102个EXC ... EXC ...

并为每个我的UIView设置一个标记,例如:用于 第一UIView的标签1 对于第二UIView的标签2 ...

然后在我的代码我做:

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

    UIView *viewSingle = (UIView*)[self.view viewWithTag:i+1]; 
    UILabel *data1 = (UILabel*)[viewSingle viewWithTag:100+i+1]; 
    [[data1 setText:[array1 objectAtIndex:i]]; 
    UILabel *data2 = (UILabel*)[viewSingle viewWithTag:100+i+2]; 
    [[data2 setText:[array2 objectAtIndex:i]]; 

    exc... 
} 

此代码只更改第一个UIView中的标签而不更改其他UIView,为什么?

回答

2

当您计算检索UILabels的标记时,不应使用i。例如

UILabel *data1 = (UILabel*)[viewSingle viewWithTag: 101]; 

,而不是

UILabel *data1 = (UILabel*)[viewSingle viewWithTag: 100 + i + 1]; 
+0

OH MY GOD,我傻......我认为有与标签有问题,而是出现了一个愚蠢的问题...谢谢 – CrazyDev