2011-09-02 39 views
0

訪問這裏是我的工作代碼的一部分:我已經想通了如何從另一種方法在其被編程創建的同一類文件中訪問的UIImageView http://pastie.org/2472364UIImageView範圍。從另一個類

但是,我想知道如何從LetterTiles.m文件中訪問相同的UIImageView,特別是在touchesMoved方法中。我在樣本中編寫代碼的方式中,只有當幀調用另一個方法時,它們纔會相互交叉顯示。當然,我需要能夠檢查視圖是否在實際的touchesMoved方法內相交。我確信這是一件非常簡單的事情,但我不知道該怎麼做。

在此先感謝您提供的任何幫助。

回答

1

從你的評論,並使用你已有的代碼,我會沿着這條路線走下去。這不是我個人的行爲,只是供參考。這個結構聽起來像是你想要的那樣。

在touchesBegan函數中創建佔位符UIImageView,然後檢查當用戶停止移動圖像時它們是否相交。

#import "LetterTiles.h" 

@implementation LetterTiles 
@synthesize placeHolder; 

- (void) touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event { 
    // Retrieve the touch point (I consider this useful info to have, so I left it in) 
    CGPoint pt = [[touches anyObject] locationInView:self]; 
    startLocation = pt; 

    // Create a place holder image wherever you want 
    [self setPlaceHolder:[[[UIImageView alloc] initWithFrame:CGRectMake(39, 104, 70, 70)] autorelease]]; 
    [newImage setImage[UIImage imageNamed:@"placeHolder.png"]] autorelease]; 


} 

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { 
    CGPoint pt = [[touches anyObject] locationInView:[self superview]]; 

    [self setCenterPoint:pt]; 
} 

-(void)touchesEnded:(NSSet*)touches withEvent:(UIEvent*)event { 
    LetterTiles *movingTile = self; 

    if (CGRectIntersectsRect([movingTile frame], [placeHolder frame])) { 
     NSLog(@"Touched"); 

     [self setFrame:[placeHolder frame]]; 
    } 
} 
+0

是的,你說得對,我應該剛剛解釋我最終想做的事情。我的錯。 當我觸摸一個字母圖塊時,我希望它在屏幕中間的某處創建一個UIImageView。該UIImageView將成爲被觸摸/拖動的字母拼貼的「佔位符」。用戶將字母瓦片拖到「佔位符」上,字母瓦片將卡入佔位符頂部的位置。這樣,信件拼貼排隊。這是否更有意義? – Jason

+0

是的,這使得更多的意義。我重寫了我的帖子以適應這個想法。這個結構有點不規範。首先,我將'placeHolder'東西移到父視圖中,這樣您就可以更好地控制它,而不是在對象中創建'placeHolders'並將其移除,等等。 – ColdLogic

+0

您的先生是史詩般的。非常感謝您的幫助和代碼。這是完美的。 – Jason

0
  1. 製作一個名爲ViewMoved的協議,它將包含一個方法otherMethod。

  2. 實現在myMainViewController

  3. 採取型ViewMoved的LetterTiles委託財產。

  4. 當您在myMainViewController中創建類型爲LetterTiles的新對象時指定自我。

  5. 在委託的觸摸調用oherMethod的每個動作上,檢查LetterTiles類型的任何視圖是否相交。

這將捕獲任何交集當任何視圖的移動.....

如果上面沒有你的問題,然後寫在這裏......匹配

相關問題