ボタン付きのView-Controllerがあります。ボタンが押されたときに、 View-Controllerに新しいビューが読み込まれるようにします。既存のビューを置き換えるものではありません。画面よりも小さくして、小さなビューをタップすると非表示にする必要があります。
コードでどのように実装する必要がありますか?
ボタン付きのView-Controllerがあります。ボタンが押されたときに、 View-Controllerに新しいビューが読み込まれるようにします。既存のビューを置き換えるものではありません。画面よりも小さくして、小さなビューをタップすると非表示にする必要があります。
コードでどのように実装する必要がありますか?
- (IBAction)button:(id)sender
{
UIView *view2=[[UIView alloc]initWithFrame:CGRectMake(0,0,200,200)];
[self.view addSubview:view2];
UITapGestureRecognizer *Tap = [[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(Tapview)] autorelease];
[view2 addGestureRecognizer:Tap];
}
-(void)Tapview
{
[view2 removeFromSuperview];
}
次のようにタップ ジェスチャを self.view に追加します。
UITapGestureRecognizer *oneFinger =
[[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(oneFingerAction:)] autorelease];
// Set required taps and number of touches
[oneFinger setNumberOfTapsRequired:1];
[oneFinger setNumberOfTouchesRequired:1];
// Add the gesture to the view
[[self view] addGestureRecognizer:oneFinger];
.h ファイルに BOOL フラグを 1 つ追加します。ViewDidLoad メソッドでこれを追加します。
flag = FALSE;
ここで、次のように画面に追加される UIView *smallView があると仮定します。
[self.view addSubView:smallView];
flag = TRUE;
smallView.center = self.view.centre;
self.view をタップすると、タップ ジェスチャ アクションが呼び出されるようになりました
- (void)oneFingerAction:(UITapGestureRecognizer*)sender
{
if(sender.view == self.view)
{
if(flag){
if(smallView)
{
[smallView removeFromSuperView];
}
}
}
}