not good but great

プログラミング、アート、映画・本の感想について書きます。

UIViewに真木よう子の画像を表示し、Switchボタンで表示/非表示を切り替える

storyboardを使う

f:id:naoyashiga:20140423124914p:plain
imageViewを配置して画像を設定すればできます。

プログラムで配置

f:id:naoyashiga:20140426190730p:plain

imgを用意

//imgを用意
UIImage *imageData = [UIImage imageNamed:@"maki.png"];

UIImageクラスからインスタンスを生成します。

イメージビューを作成

//viewを作成
CGRect rect = CGRectMake(0, 0, 400, 600);
UIImageView *imageView = [[UIImageView alloc] initWithFrame:rect];

CRRectで表示領域を決めます。

画像の比率を設定

//imageを設定
imageView.image = imageData;
imageView.contentMode = UIViewContentModeScaleAspectFill;
imageView.center = self.view.center;

画像の比率をcontentModeで決めます。

viewに表示

//imageviewを画面に表示
[self.view addSubview:imageView];

最後にviewに反映させます。

イメージの表示、非表示

イメージを削除する

f:id:naoyashiga:20140426194022p:plain

- (IBAction)switchChange:(UISwitch *)sender {
    if(sender.on == YES){
        imageView.image = imageData;
    }else{
        imageView.image = nil;
        
    }
}

Switchボタンでイメージの表示と非表示を切り替えます。これはimageの値をnilに設定することで実現できます。

ビューを隠す

- (IBAction)switchChange:(UISwitch *)sender {
    imageView.hidden = !(sender.on);
}

hiddenの値をSwitchボタンの論理値の逆にすれば、ビューを隠すことが出来ます。それによって画像が非表示になります。