2015-01-04 6 views
0

단추를 클릭하면 viewview 외부에서 왼쪽으로 변환되는 UITextField이되도록 만들어야합니다. 그러나 다음 코드를 실행하면 UITextField이 viewcontroller의 중간에서 시작한 다음 버튼을 클릭하면 view에있는 view 외부로 왼쪽으로 변환됩니다. 보기를 처음로드 할 때 신속하게 버튼을 클릭 할 때까지 보이지 않도록하려면 어떻게해야합니까? 이 기능은 화면 바로 전에 호출됩니다Animate UITextField

func viewDidLayoutSubviews() 

가로드 :

@IBAction func joinCircleButton(sender: AnyObject) { 
    let button = sender as UIButton 
    joinTextField.frame.origin.x=500 
    joinTextField.frame.origin.y=100 
    if (button.frame.origin.x - 75>0){ 
     UIView.animateWithDuration(0.5, animations:{ 
      button.frame = CGRectMake(button.frame.origin.x - 125, button.frame.origin.y,button.frame.size.width, button.frame.size.height) 
      button.transform = CGAffineTransformMakeScale(0.5, 0.5); 
      self.joinTextField.frame=CGRectMake(self.joinTextField.frame.origin.x - 325, self.joinTextField.frame.origin.y,self.joinTextField.frame.size.width, self.joinTextField.frame.size.height) 
     }) 
    } 
} 

답변

0

당신은 UITextField에, 또는 당신이라는 함수를 사용하여 뷰의 외부 숨길하고자하는 객체를 둘 필요가 . 하위보기는 준비가되었지만 아직 화면에 표시되지 않습니다.

func viewDidLayoutSubviews(){ 

// Here is just an EXAMPLE of what I'd do with my text field, you can change this however you wish 
// The point is that I am putting it away so no one can see it at first, and then later it will show 
joinTextField.center = CGPointMake(joinTextField.frame.origin.x-500, joinTextField.frame.origin.y) 

} 

는 이제 텍스트 필드가보기로드 한 후 나중에 어서요 희망이 도움이 애니메이션을 적용 할 수있을 때 숨겨져 야 : 그래서 이것은과 같이 시야에서의 UITextField를 숨길 수있는 기회입니다.

+0

감사합니다. 그러나 어떤 이유로 텍스트 필드 나 다른 객체를 클릭 할 때마다 모든 애니메이션 객체는 애니메이션 이전의 원래 위치로 되돌아갑니다. 이 동작을 어떻게 중지시킬 수 있습니까? – StevenR

+0

조금 더 설명해 주시겠습니까? 시작부터 끝까지 행동을 말해줘. – Guled

+0

1) 버튼을 클릭합니다. 2) 작아지면서 버튼이 왼쪽으로 이동합니다. 3) 버튼을 클릭하면 텍스트 필드가 표시됩니다. 4) 모든 것이 애니메이션으로 처리됩니다. 5) 텍스트 필드를 클릭합니다. 6) 버튼이 돌아갑니다. 원래 위치에 있지만 여전히 작은 크기이며 텍스트 필드가보기에서 사라집니다. – StevenR