1

AVFoundation カメラを作成しましたが、ツールバー項目の画像をカスタム画像に変更したいと思います。ユーザーがカメラの録画ボタンをタップすると、画像が変更されます。

私はその変更を行いましたが、問題は私の画像が白黒で色が表示されないことです.soplzはこれを助けます.

私のコードは次のとおりです。

- (void)viewDidLoad

{
[[self recordButton] setImage:[UIImage imageNamed:@"camara30.png"]]  //first time setting image
}

- (void)captureManagerRecordingBegan:(AVCamCaptureManager *)captureManager
{
    CFRunLoopPerformBlock(CFRunLoopGetMain(), kCFRunLoopCommonModes, ^(void) {
       // [[self recordButton] setTintColor:[UIColor redColor]];
        [[self recordButton] setImage:[UIImage imageNamed:@"record30.png"]];   //changing image when record begun
        [[self recordButton] setEnabled:YES];
    });
}

- (void)captureManagerRecordingFinished:(AVCamCaptureManager *)captureManager
{
    CFRunLoopPerformBlock(CFRunLoopGetMain(), kCFRunLoopCommonModes, ^(void) {
        [[self recordButton] setImage:[UIImage imageNamed:@"camara30.png"]];   //changing image when record end
        [[self recordButton] setEnabled:YES];
    });
}

記録を開始する前の私の最初の画面:

ここに画像の説明を入力

記録終了後の 2 番目の画面:

ここに画像の説明を入力

4

2 に答える 2

0

画像を設定してみてください [[self recordButton] setImage:[UIImage imageNamed:@"record30.png"] forState:UIControlStateNormal];

于 2012-11-01T10:44:06.433 に答える
0
    UIBarButtonItem *temp = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];

    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
    [button setImage:[UIImage imageNamed:@"BlueMarbleDrop"] forState:UIControlStateNormal];
    button.frame=CGRectMake(0.0, 0.0, 60.0, 30.0);
    [button addTarget:self action:nil forControlEvents:UIControlEventTouchUpInside];
    UIBarButtonItem* stopBtn = [[UIBarButtonItem alloc] initWithCustomView:button];

    [self.toolBar setItems:[NSArray arrayWithObjects:temp,stopBtn,temp, nil]];

出力は次のようになります ここに画像の説明を入力

私はこれをUIBarButtonItem から色で取りましたか?

于 2012-11-01T08:35:22.413 に答える