2011-01-10 5 views
0

私が作成しているアプリケーションでは、AdvancedView1という名前のUIViewがあります。ユーザーは、画面上でビューをドラッグすることができます。ユーザーはビューを画面上の特定の位置にドラッグする必要があります。ビューが特定の領域にドロップされた場合、ビューは定義された位置に「スナップ」します。 IF AND文を使用しようとすると、エラーが発生します。助言がありますか?IF文を使用したUIViewの位置設定

また、 "origin"は.hファイルで宣言されたCGPointです。

- (void)pan:(UIPanGestureRecognizer *) gesture 
{ 
if (gesture.state == UIGestureRecognizerStateChanged) 
{ 
    CGPoint origin = [gesture locationInView:[self superview]]; 
    [self bringSubviewToFront:[self superview]]; 
    [self setCenter:origin];    
} 
if (gesture.state == UIGestureRecognizerStateEnded) 
{ 
    if (origin.x >= 574.0 && origin.x <= 724.0) { 
    self.frame = CGRectMake(574.0, 184.0, self.frame.size.width, self.frame.size.height); 
    } 
} 
} 

私は

答えて

1

origin変数 "何かない構造体または共用体に "× "origin.x> = ...."

" メンバーのための要求" のために、次のエラーを取得していますスコープは1番目のifブロックに限定され、2番目のブロックでは表示されません。宣言を関数スコープに移動します。

- (void)pan:(UIPanGestureRecognizer *) gesture 
{ 
    CGPoint origin = [gesture locationInView:[self superview]]; 
    if (gesture.state == UIGestureRecognizerStateChanged) 
    {  
     [self bringSubviewToFront:[self superview]]; 
     [self setCenter:origin];    
    } 
    if (gesture.state == UIGestureRecognizerStateEnded) 
    { 
     if (origin.x >= 574.0 && origin.x <= 724.0) { 
      self.frame = CGRectMake(574.0, 184.0, self.frame.size.width, self.frame.size.height); 
     } 
    } 
} 
関連する問題