2012-08-03 6 views
0

레이블 및 텍스트 필드의 애니메이션에 문제가 있습니다. 레이블은 사라지고 텍스트 필드는 아무 것도하지 않습니다. 왜 그런지 모르겠지만 버튼에는 아무런 문제가 없습니다. 정말 바보 같은 것을 놓친다고 생각하십시오. 자, 여기 무슨 일이 난 라벨 시도 가지고있다 :레이블 및 텍스트 필드 애니메이션 문제 (objective-c)

UILabel *label = (UILabel*)[self.view viewWithTag:1]; 
[UIView animateWithDuration:1 animations:^{label.frame = CGRectMake(0,0,1,1);}]; 

텍스트 필드 :

UITextField *box = (UITextField*)[self.view viewWithTag:1]; 
[UIView animateWithDuration:1 animations:^{box.frame = CGRectMake(0,0,1,1);}]; 

내가 무엇을 누락?

+0

메인 스레드에서 실행 중입니까? – holex

답변

2

CGRectMake(0,0,1,1)은 정말 작은 상자가 될 것입니다. 그들은 사라지지 않고, 당신은 그것을 하나의 픽셀로 밀어 넣고 있습니다. CGRectMake(0,0,100,50)과 같은 더 합리적인 것을 시도해보고 효과가 있는지 확인하십시오. 로

CGRectMake

가 정의 : 방금 크기를 조정하지 않고 중심을 이동하려면
CGRect CGRectMake (
    CGFloat x, 
    CGFloat y, 
    CGFloat width, 
    CGFloat height 
); 

그래서 당신이 1

에 너비와 높이를 설정하고,이 시도.

[UIView animateWithDuration:1 animations:^{label.center = CGPointMake(x,y);}]; 

여기서 x와 y는 새로운 중심의 좌표입니다.

+0

당신이 옳았다. 나는 텍스트가 너무 작은 공간에 포함될 수 없기 때문에 레이블이있는 CGRectMake (0,0,1,1)를 수행 할 수 없다고 생각한다. 그래서 사라진다. 그러나, 나는 아직 텍스트 필드와 함께 작동하도록 만들 수 없습니다 : /. 그러나 어쨌든 고마워요 :) –

+0

나는 게시물에서 제안한 것처럼 센터를 움직여보십시오. 그게 효과가 있니? –

+0

나는 그것을 얻었고, 나는 질문에 게시하는 코드가 함께 있고, 둘 다 태그 : 1이있어 문제를 일으켰다. 나는 텍스트 필드의 태그를 2로 변경했다. 감사 :). –

관련 문제