2010-08-12 4 views
0

내 페이지 중 하나에 UISegmentedControl이 있습니다. 클릭 한 세그먼트 바로 아래에서 세그먼트를 클릭하면 편집 상자가 나타나길 원합니다. 나는 그것이 활기를 띄게하고 싶다. (슬라이드 인 또는 무언가)UISegmentedControl 사용자 지정

이것이 가능한가? 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?

젠장. 나는이 모든 동작이 셀 내에서 발생하며 간단한보기가 아닌 것을 언급하는 것을 잊어 버렸다.

답변

1

UIView 애니메이션을 사용해 볼 수 있습니다. 먼저 편집 상자 (UITextView로 추측하겠습니까 ??)를 x 좌표 320에 설정합니다 (그러면 나타나지 않을 것입니다). 사용자는 세그먼트 제어 그냥 UIView의 애니메이션을 사용하여 UITextView 번역 명중 둘째 때

[UIView beginAnimation:nil context:nil]; 
[UIView setAnimationDuration: 1.0]; 
CGAffineTransform trans = CGAffineTransformMakeTranslation(-320, 0); 
self.view.transform = trans; 
[UIView commitAnimations]; 

은 당신을 도울 것입니다 희망).

+0

thnx ... 임이 물건에 새 (1 개월 경험) .I이가 내부에 무슨 일이 일어나고 특히 이후, 애니메이션을 할 위치를 알 논리를 이해하지만, 그나마 도움이 될 것입니다 희망 cellview – humblePilgrim

0

그래, 내가 더 정확하게하려고 노력할 것입니다, 나는 당신이 Interface Builder를 사용하고 있다고 생각합니까? 당신이 당신의 segmentedController에서 인덱스를 선택하면

-(IBAction) translateMyView 
{ 
    //If the first segment is selected do translation of the cellView 
    if(yourSegmentedController.selectedSegmentIndex == 0) 
    { 
    [UIView beginAnimation:nil context:nil]; 
    [UIView setAnimationDuration: 1.0]; 
    //This will translate the view to its position from its position -320 px 
    CGAffineTransform trans = CGAffineTransformMakeTranslation(-320, 0); 
    //Replace self.view with the view you want to translate. 
    self.view.transform = trans; 
    [UIView commitAnimations]; 
    } 
    else if(yourSegementedController.selectedSegmentIndex ==1) 
    { 
    //Do same thing that above but with another view 
    } 
} 

그래서이 발생 시킬수 작업입니다 : 그래서 당신은 "링크"UISegmentedController, 당신의 클래스 있도록하는 것이이 방법을 쓰기 당신에게 액션에 있습니다. 이 작업을 Interface Builder의 UISegmentedController에 연결하면됩니다.

은 ;-)

+0

정확해야 할 사람이 바로 입니다. 각 셀에는 각 요일 (총 7 세그먼트)에 대한 세그먼트가있는 세그먼트 제어가 있습니다. 그날 아래에 텍스트 상자를 표시하고 싶습니다. 사용자가 자신의 데이터를 입력 할 수있는 세그먼트가 눌려지면 테이블에 셀이 몇 개있을 수 있습니다. (모두 UISegmentedControl을 소유하고 있습니다.) 문제는 복잡해집니다. 애니메이션 부분을 덤프 할 준비가되었지만 TextView가 해당 날짜 아래에 나타나야합니다. – humblePilgrim

+0

및 편집 상자에 의해 TextField가 아닌 TextField가 표시됩니다. – humblePilgrim

+0

나를 도우려는 노력을 위해 Thnx – humblePilgrim

관련 문제