2012-09-10 5 views
0

사진을 만들기 위해 nsarray 문자열에서 전달 된 이미지 (clubcow.png)가 있습니다. 그런 다음 안면 코우가 그림을 나타냅니다. 나는 버튼을 두드 리면 (100,100) faceedowncow를 움직일 버튼을 만드는 법을 궁금해하고 있습니다. 어떤 조언을 부탁드립니다. 또한,이 코드에는 더 많은 것이 있습니다. 나는 무엇이 진행되고 있는지에 대한 아이디어를주기 위해 중요한 부분을 게시했습니다.버튼으로 이미지를 이동하는 방법은 무엇입니까?

cardKeys = [[NSArray alloc] initWithObjects:@"clubcow", nil]; 
currentName = [NSMutableString stringWithFormat:@"%@.png", [cowsShuffled objectAtIndex:currentcow]]; 
faceDowncow = (UIImageView *)[self.view viewWithTag:1]; 
faceDowncow.userInteractionEnabled = YES; 
+0

는'beginAnimation'와'commitAnimations' 사이의 새로운 이미지 뷰 프레임을 설정하려고 있나요? –

답변

1

우선이 코드는 뷰 컨트롤러 서브 클래스에서처럼 보이는, 그리고 소는 하위 뷰 : 다음과 같은 기능을 쉽게 참조 할 수 있도록 뷰 컨트롤러의 속성으로 당신의 faceDowncow을 추가 할 수 있습니다 . 이 경우 항상 태그로 얻는 대신 속성을 가져야합니다. 스토리 보드 장면/닙에서 인스턴스화 된 경우 하위 클래스의 속성/ivar에 대한 콘센트를 상당히 쉽게 연결할 수 있습니다.

당신이 원하는 것을 할 수있는 가장 쉬운 방법은이 도청 될 때, 그것은 당신의 뷰 컨트롤러의 메소드를 호출하도록 버튼을 사용 대상 액션을 만드는 것입니다. 메소드 본문에서,과 같이, 당신의 소에 대한 참조를 얻고 그것의 프레임 속성을 설정 :

[faceDowncow setFrame: CGRectMake(100,100,faceDowncow.bounds.size.width,faceDowncow.bounds.size.height)]; 

당신이 목표 조치가 작동하는 방법을 모르는 경우

, 나는 Apple's documentation on the matter을 읽는 것이 좋습니다. 버튼을 얻는 것만 큼 간단합니다. 특정 메소드를 호출해야하는 이벤트를 알려주는 메소드 하나를 호출 한 다음 해당 메소드를 구현하십시오.

+0

이 하나의 작품, 고마워요. –

+0

반갑습니다. – Metabble

4

UIButton을 만들고보기 컨트롤러보기에 추가하는 것으로 시작합니다. 그런 다음

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
button.frame = CGRectMake(0, 0, 100, 20); 
[button setTitle:@"Tap Me" forState:UIControlStateNormal]; 
[button addTarget:self action:@selector(animateImage:) 
forControlEvents:UIControlEventTouchUpInside]; 
[self.view addSubview:button]; 

, 당신의 faceDowncow 개체를 애니메이션하는 기능이 버튼을 연결합니다. 모든

- (void)animateImage:(UIButton *)sender { 
    [UIView animateWithDuration:0.2 
    animations:^{ 
     // change origin of frame 
     faceDowncow.frame = CGRectMake(100, 100, faceDowncow.frame.size.width, faceDowncow.frame.size.height); 
    } completion:^(BOOL finished){ 
     // do something after animation 
    }]; 
} 
+0

+1, 운동을 애니메이트하는 방법을 보여주기 때문에 +1. – Metabble

+0

감사합니다. 도움이 되었으면 좋겠어요. – johngraham

관련 문제