0

UIImageViewの全画面表示があり、上にボタンがあります。これらのボタンを押すと、ボタンのある大きな画像が開きます。サイトを開くためのボタンと画像を閉じるためのボタン。レイヤーを使って画像を出すことを考えましたが、ボタンが効いても何も出ません。

  - (void)viewDidLoad
  {
       [super viewDidLoad];
        self.bigImageView= [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"SBS_visual_ok.jpg"]];
        self.bigImageView.frame = self.view.bounds;
        //....

        self.buttonInternational =[UIButton buttonWithType:UIButtonTypeRoundedRect];
        [self.buttonInternational addTarget:self action:@selector(pressedInternational:) forControlEvents:UIControlEventTouchUpInside];
        self.buttonInternational.frame = CGRectMake (100, 100, 100, 100);
        //...

        [self.view addSubview:self.bigImageView];
        [self.bigImageView addSubview:self.buttonInternational];
  }

ボタンを押すボタンをいくつか付けて写真を撮りたいのですが、画像も出ません。インポートしました

  -(void)pressedInternational:(id)sender{

     CALayer *layer =[CALayer layer];
     layer.frame = CGRectMake(300, 400, 300, 200);
     layer.contents =(id)[UIImage imageNamed:@"International_Security_Service.png"].CGImage;

     [[self.bigImageView layer]addSublayer:layer]; 
     NSLog(@"The layer is %@", layer);
     //The layer is <CALayer: 0x757ba30>


   }

ボタンのレイヤーを配置するにはどうすればよいですか?

4

1 に答える 1

1

なぜCALayerを使おうとしているのですか?画像やボタンなどを含む別のUIViewを表示する方がおそらく簡単でしょう。

MyView *myView = [[MyView alloc] initWithFrame:CGRectMake(10.0, 10.0, 300.0, 300.0)];
[self.view addSubview:myView];

簡単に表示/非表示にできます

[self.myView setHidden:YES];

または、新しいViewControllerをプッシュします。

MyViewController *nextViewController = [[MyViewController alloc] init];
[self presentViewController:myViewController animated:YES completion:nil];

必要に応じて、これらのいずれかの表示と削除にアニメーションを適用できます。

于 2012-12-18T16:26:06.573 に答える