2011-01-10 60 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> = ...」

’請求構件」×範圍僅限於第一個塊,並且在第二個塊中不可見。將其聲明移至功能範圍:

- (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); 
     } 
    } 
}