在页面控制中使用IBAction和NSArray

时间:2014-08-10 20:35:00

标签: ios nsstring ibaction

使用TableView,您可以使用此功能

if ([_TitleLabel.text isEqualToString:@"1 + 1"]) {
lyricstext.text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent      mollis fringilla tempus. Vestibulum nec erat in diam volutpat lacinia non sit amet est. 
Phasellus a sagittis tellus, eget feugiat tortor."}


我想知道如何使用NSArray做到这一点!我有这个:

- (NSArray *) arrayWithImages{
return @[
        @"http://i.ytimg.com/vi/nnReaaJwloI/hqdefault.jpg",
        @"http://i.ytimg.com/vi/i41qWJ6QjPI/hqdefault.jpg",
        @"http://i.ytimg.com/vi/ag0hsUf9V7Q/hqdefault.jpg",
        @"http://i.ytimg.com/vi/VBmMU_iwe6U/hqdefault.jpg",
        @"http://i.ytimg.com/vi/FHp2KgyQUFk/hqdefault.jpg",
        @"http://i.ytimg.com/vi/KaasJ44O5lI/hqdefault.jpg",
        @"http://i.ytimg.com/vi/Ob7vObnFUJc/hqdefault.jpg",
        @"http://i.ytimg.com/vi/XWCwc1_sYMY/hqdefault.jpg",
        @"http://i.ytimg.com/vi/PGc9n6BiWXA/hqdefault.jpg",
        @"http://i.ytimg.com/vi/2XY3AvVgDns/hqdefault.jpg"
                    ];}

如果返回的图像不同,我如何使用不同的超链接(IBAction)?

1 个答案:

答案 0 :(得分:0)

要完成我关注你尝试做的事情,我建议如下。

// In your nameOfViewController.h add these two variables as shown:

@interface nameOfViewController
{
    NSArray *imgsArray;
    NSArray *linksToVideos;
    NSString *currentVideoLink;
    int position;
}

// In your nameOfViewController.m

- (void)viewDidLoad
{
    // So you'll start at the first image in array
    position = 0;

    // actually initialize your array
    imgsArray = [[NSArray alloc] init];
    linksToVideos = [[NSArray alloc] init];
    currentVideoLink = [[NSString alloc] init];

    // Start currentVideoLink with first video 
    currentVideoLink = @"http://www.youtube.com";
    imgsArray =  @[
    @"http://i.ytimg.com/vi/nnReaaJwloI/hqdefault.jpg",
    @"http://i.ytimg.com/vi/i41qWJ6QjPI/hqdefault.jpg",
    @"http://i.ytimg.com/vi/ag0hsUf9V7Q/hqdefault.jpg",
    @"http://i.ytimg.com/vi/VBmMU_iwe6U/hqdefault.jpg",
    @"http://i.ytimg.com/vi/FHp2KgyQUFk/hqdefault.jpg",
    @"http://i.ytimg.com/vi/KaasJ44O5lI/hqdefault.jpg",
    @"http://i.ytimg.com/vi/Ob7vObnFUJc/hqdefault.jpg",
    @"http://i.ytimg.com/vi/XWCwc1_sYMY/hqdefault.jpg",
    @"http://i.ytimg.com/vi/PGc9n6BiWXA/hqdefault.jpg",
    @"http://i.ytimg.com/vi/2XY3AvVgDns/hqdefault.jpg"];

// Array of links that I speak of below
linksToVideos = @[@"url/to/I_Care", @"url/to/I_Was_Here", @"url/to/schoolin_life", @"etc..."];

}

每次出现下一个图像时,都会调用下面的委托方法。在其中,index的值对应于图像阵列中图像的位置。使用此信息,您可以使用与每个图像对应的一系列链接(到您的视频)来正确显示图像的视频。例如,imgsArray [0](图像的数组)的值是I Care by Kelly Rowland,这就是为什么当这个图像在输出控制台中显示imagePager:didScrollToIndex:] 0时。只需获取此值并将其应用于相应链接数组即可为您提供正确的链接。

- (void)imagePager:(KIImagePager *)imagePager didScrollToIndex:(NSUInteger)index
{

   currentVideoLink = linksToVideos[index];

}

- (IBAction)watchVideo
{
    // Present video with link currently in currentVideoLink, will open in Safari

 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:currentVideoLink]];
}