タイトルの通り、画面をタップしようとすると、画面が少し暗く半透明になり、指が画面から離れると画面が元に戻ります。これは UIButton と同様です。
この場合、私UIButton
ははるかに簡単だと知っていますが、これは単なるサンプルです
次のような私のコード:
- (IBAction)tapped:(UITapGestureRecognizer *)sender
{
UIView * tintView = [[UIView alloc] initWithFrame:[UIScreen mainScreen].bounds];
[self.view addSubview:tintView];
switch (sender.state) {
case UIGestureRecognizerStateRecognized: {
[tintView setBackgroundColor:[UIColor colorWithRed:.25 green:.25 blue:.25 alpha:.5]];
NSLog(@"begin");
}
default: {
[tintView setBackgroundColor:[UIColor clearColor]];
NSLog(@"ended");
}
}
}
ただし、画面をタップすると、上記のコードのように変更されませんがbegin
、ended
コンソールにキャプチャされます。
これらのコードをcase
とdefault
likeの間で交換する場合
switch (sender.state) {
case UIGestureRecognizerStateRecognized: {
[tintView setBackgroundColor:[UIColor clearColor]];
NSLog(@"begin");
}
default: {
[tintView setBackgroundColor:[UIColor colorWithRed:.25 green:.25 blue:.25 alpha:.5]];
NSLog(@"ended");
}
}
begin
コンソールに表示される可能性がありended
ますが、タップすると画面が暗くなり、通常のクリアな色に戻ることはありません.
コードの何が問題になっていますか? それを実現する方法は?
ありがとう!