下一个按钮图像数组xcode

时间:2013-04-15 08:20:47

标签: ios objective-c xcode arrays button

我正在尝试使用故事板编写Xcode 4中的应用程序代码。

我的项目是这样的:

1个表视图控制器

1个带4个按钮的详细视图控制器,

并说6张图片( 1-1.jpg /1-2.jpg/1-3.jpg, 2-1.jpg / 2-2 .jpg / 2-3.jpg。

我有我的应用程序在单击单元格时显示数组中的图像( 1-1.jpg和2-1.jpg )。

My Screenshots 这是我的代码:

// TableViewController.m:

@synthesize myTitle = _myTitle;
@synthesize myScene = _myScene;
@synthesize myImages = _myImages;

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.myTitle = [[NSArray alloc] initWithObjects:@"Chicken", @"Flower", nil];
    self.myScene = [[NSArray alloc] initWithObjects:@"1", @"2", nil];
    self.myImages = [[NSArray alloc] initWithObjects:@"1-1.jpg", @"2-1.jpg", nil];
}

// DetailViewController.m

@synthesize titleLabel = _titleLabel;
@synthesize sceneLabel = _sceneLabel;
@synthesize imageView = _imageView;
@synthesize myDetailModel = _myDetailModel;

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.navigationItem.title = self.titleLabel.text = [self.myDetailModel objectAtIndex:0];
    self.sceneLabel.text = [self.myDetailModel objectAtIndex:1];
    self.imageView.image = [UIImage imageNamed:
                            [self.myDetailModel objectAtIndex:2]];

我希望我的DetailView页面每次按下时都会显示下一张或上一张图像(1-2.jpg / 1-3.jpg ... / 2-2.jpg,2-3.jpg ...)下一个或上一个(黑色)按钮,

当我按下另一个(绿色)按钮时,显示下一个或上一个场景(鸡场景和花场景),
比如https://dl.dropboxusercontent.com/u/7493131/q3.jpg

我不知道如何排列1-2.jpg,1-3.jpg,2-2.jpg和2-3.jpg以及如何处理它们。

我很新,我想要一些示例代码来帮助我们研究它是如何工作的, 以及如何在我的应用程序中实现类似的功能。谢谢。

2 个答案:

答案 0 :(得分:1)

您需要创建一个实例int变量idx来跟踪您正在处理的图像,并为这些按钮分配两个IBAction

// This is for your fighter case 

- (IBAction)presentPreviousImage:(id)sender {
    idx --;
    if (idx == 2) {
        self.imageView.image = [UIImage imageNamed:@"1-3.jpg"];
    } else if (idx == 1) {
        self.imageView.image = [UIImage imageNamed:@"1-2.jpg"];
    } else if (idx == 0) {
        self.imageView.image = [UIImage imageNamed:@"1-1.jpg"];
        idx = 2;
    }        
}

- (IBAction)presentNextImage:(id)sender {
    idx ++;
    if (idx == 0) {
        self.imageView.image = [UIImage imageNamed:@"1-2.jpg"];
    } else if (idx == 1) {
        self.imageView.image = [UIImage imageNamed:@"1-3.jpg"];
    } else if (idx == 2) {
        self.imageView.image = [UIImage imageNamed:@"1-1.jpg"];
        idx = 0;
    }
}

答案 1 :(得分:1)

-(IBAction)rightClick{
    if (imageArrayObj.count > 0) {
        currentIndex++;
        if (currentIndex > imageArrayObj.count - 1) {
            currentIndex = 0;
        }
    imageViewObj.image = [imageArrayObj objectAtIndex:currentIndex];
    }
}

它工作正常.....使用this和currentIndex是整数声明“int currentIndex;”并在视图中赋值,加载“currentIndex = 0;”