0

ペン先からビューをロードしてメインビューに追加しようとしています。これが私のコードです。

のペン先をロードしましinitWithFrame@interface AddTaskView:UIView

 - (id)initWithFrame:(CGRect)frame
    {
    self = [super initWithFrame:frame];
    if (self) {
        NSLog(@"init with frame");
        // Initialization code

        NSArray *addTaskArrayOfViews = [[NSBundle mainBundle] loadNibNamed:@"AddTaskView"
                                                                     owner:self
                                                                   options:nil];
        self=[addTaskArrayOfViews objectAtIndex:0];
    }
    return self;
    }

その後、ビューを初期化し、メインビューに追加します。

 self.addTaskView=[[AddTaskView alloc]initWithFrame:CGRectMake(0, 0, 320, 460)];
    [self.view addSubview:self.addTaskView];

すべて正常に動作しますが、AddTaskViewはtouchイベントを受け取りません。私には3つのボタンがあり、それらを押そうとしてもアクションを受け取りません。タイプ「AddTaskView」のペン先を作成しましたが、運がありませんでした。サブビューも調べましたが、「AddTaskView」がトップビューです。

AddTaskViewにこのコードを追加して、タッチしても応答がないかどうかを確認しました。

 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
        NSLog(@"touch");
    }

タッチイベントに応答する機会を得るにはどうすればよいですか?

4

2 に答える 2

0
[UIView beginAnimations:@"MoveAndStrech" context:nil];

[UIView setAnimationDuration:1];

[UIView setAnimationBeginsFromCurrentState:YES];

[UIView commitAnimations];
于 2012-05-16T10:28:44.757 に答える
0

タッチディスパッチャーを登録してから、タッチを取得する必要があると思います....次はそのためのコードです

-(void)registerWithTouchDispatcher{
[[CCTouchDispatcher sharedDispatcher] addTargetedDelegate:self priority:0swallowsTouches:YES];}

-(BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event{
return YES;}

-(void)ccTouchMoved:(UITouch *)touch withEvent:(UIEvent *)event{
touchLocation = [touch  locationInView:[touch view]];
NSLog(@"Touch is working");}
于 2012-05-16T10:41:11.863 に答える