UILabel在不同的子视图中

时间:2012-07-17 11:12:46

标签: iphone objective-c uiscrollview nsarray uilabel

我正在创建我的第一个应用。它将是您可以滚动浏览的产品目录。 我创建了一个宽度为960(320 * 3)的UIScrollView并添加了UIPageControl。在里面我添加了3个不同的视图,每个视图代表我的一个产品 - 包含我需要的所有信息 - 名称,图像,描述,价格等。

我可以看到视图移动,因此我将第一个产品设置为UILabel类和UIImageView。我想知道是否可以使用NSArray并在用户切换到下一个视图时设置UILabel的{​​{1}}属性和text

我的问题是每个视图都有不同的imageNamed元素。

感谢您的帮助,非常感谢!

1 个答案:

答案 0 :(得分:1)

是的,您可以使用NSArray存储每个视图的数据。我建议首先使用属性labelText和imageName;

创建一个简单的对象

然后您可以像这样创建自定义对象的NSArray:

MyObject obj1 = [MyObject new];
obj1.labelText = @"My Text 1";
obj1.imageName = @"My Image 1";

//Other objects..

then

NSArray *myArray = [[NSArray alloc] initWithObjects: obj1, obj2, obj3, nil];

然后当您切换页面时,只需执行以下操作:

MyObject *myPageInfo = [myArray objectAtIndex:pageNumber];
myLabel.text = myPageInfo.labelText;
mylabel.imageName = myPageInfo.imageName;

希望有所帮助。