UIImage и UIImagePicker и UIImageView - PullRequest
       4

UIImage и UIImagePicker и UIImageView

0 голосов
/ 06 августа 2010

У меня есть UISegmentedControl, и у меня есть несколько фотографий, моя первоначальная цель - когда я нажимаю на определенный сегмент, одно изображение должно появляться на виде.

Например: если у меня есть четыре сегмента и четыре изображения, тогда на каждом сегменте, который я нажимаю, я должен увидеть изображение.

Здесь я взял NSArray и загрузил все эти изображения, используя приведенный ниже код:

NSArray * images = [NSArray arrayWithObjects:[UIImage imageNamed:@"f.ppg"], [UIImage imageNamed:@"t.ppg"....etc ], nil];

и после этого я хочу прикрепить каждое конкретное изображение к индексу сегмента. Вот код, который я написал.

-(IBAction) segmentActionChanged:(id)sender
{
    int segment = mSegment.selectedSegmentIndex; 
    mImageView.image=[images objectAtIndex:segment]; 
}

При компиляции приложения я не отображаю изображения, и оно внезапно завершает работу.

Любая помощь по этому поводу.

Ответы [ 2 ]

1 голос
/ 06 августа 2010

Ответить на вопросы 1 и 3 (думаю).для отображения изображения вам понадобится UIImageView где-нибудь.простой способ сделать это состоит в том, чтобы создать такой метод.

    //somewhere in viewDidLoad perhaps?
    //title array is an array of strings to use as the label on each section of your control
    UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:titleArray];

    //this sets the segmentAction: method as the selector for your particular UISegmentedControl 
//(so when its value is changed, segmentAction: gets called)
    [segmentedControl addTarget:self action:@selector(segmentAction:) forControlEvents:UIControlEventValueChanged];

    //the segmentAction: method
    - (IBAction) segmentAction:(id)sender
    {
    //This assumes you have declared the imageView elsewhere, as well as the array and that you  
 //are using Interface Builder to create/hookup the segmentControl. Basically
        myImageView.image = [myImageArray objectAtIndex:sender.selectedSegmentIndex];
    }

Несколько примечаний: в этом случае не используется отложенная загрузка, поскольку вы создаете и храните все свои изображения вмассив до их показа.Я бы предложил создать переменную экземпляра для UISegmentedControl, чтобы вы могли получить к ней доступ также в любом месте.Отказ от ответственности: этот код не является полным и предполагает некоторые инициализации.

Чтобы ответить на второй вопрос: A UIImagePickerController используется при работе с камерой телефона / устройства или альбомом сохраненных фотографий.Это описано в документации.

0 голосов
/ 06 августа 2010

Похоже, вам не хватает удержания.

...