0

请帮忙。我有这段代码可以在滚动视图中显示图像。:

- (void)viewDidLoad
{
    [super viewDidLoad];


    NSArray *imgNames = [[NSArray alloc] initWithObjects:@"ip1.jpg", @"ip2.jpg", @"ip3.jpg", @"ip4.jpg", @"ip5.jpg", @"ip6.jpg", @"ip7.jpg", @"ip8.jpg", @"ip9.jpg", @"ip10.jpg",@"ip11.jpg",@"ip12.jpg",@"ip13.jpg",@"ip14.jpg",@"ip15.jpg",@"ip16.jpg",@"ip17.jpg",@"ip18.jpg",@"ip19.jpg",@"ip20.jpg",@"ip21.jpg", nil];


    // Setup the array of UIImageViews
    NSMutableArray *imgArray = [[NSMutableArray alloc] init];
    UIImageView *tempImageView;
    for(NSString *name in imgNames) {
        tempImageView = [[UIImageView alloc] init];
        tempImageView.contentMode = UIViewContentModeScaleAspectFill;
        tempImageView.image = [UIImage imageNamed:name];
        [imgArray addObject:tempImageView];

    }
 CGSize pageSize = scrollViewBack.frame.size; // scrollView is an IBOutlet for our UIScrollView
    NSUInteger page = 0;
    for(UIView *view in imgArray) {
        [scrollViewBack addSubview:view];

        // This is the important line
        view.frame = CGRectMake(pageSize.width * page++ + 40, 0, pageSize.width - 80,  pageSize.height);
 }   



    scrollViewBack.contentSize = CGSizeMake(pageSize.width * [imgArray count], pageSize.height);

}

现在,我想要一个 UILabel,它会在我滚动时显示图像名称。请帮助我,我无法实现。非常感谢。

4

2 回答 2

1

在你的循环中,你可以做这样的事情。阅读苹果文档。谷歌搜索如何制作标签。如果你只是尝试,学习这些东西并不难。

for(NSString *name in imgNames) {
    // ....

    UILabel *label = [[UILabel alloc] initWithFrame:WHEREYOUWANTIT];
    [label setText:name];
}
于 2012-12-07T14:09:29.477 回答
1

在第二个循环中,您可以访问andfor对象的索引,所以试试这个:imgArrayimgNames

int idx = [imgArray indexOfObject:view];
NSString *strName = [imgNames objectAtIndex:idx];
//create the label
label.text=strName;
//add the label in the scrollView

如果您只想在显示新图像时显示标签,请将两个数组保留为 iVar,并使用UIPageControl跟踪您所在的滚动视图的哪一页。(示例代码)。

于 2012-12-07T14:24:20.950 回答