2010-03-31 4 views
-1

화면 아래쪽 (탭 표시 줄 맨 위에 있음)에서 UIPickerView 슬라이드를 가져 오려고하지만 표시되지 않는 것 같습니다. 애니메이션의 실제 코드는 Apple의 예제 코드 프로젝트 중 하나 (DateCell)에서 가져옵니다. 첫 번째보기 컨트롤러 (FirstViewController.m)에서이 코드를 Tab Bar Controller 아래로 호출합니다. UITabBarController를 통해 UIPickerView 추가하기

- (IBAction)showModePicker:(id)sender { 
if (self.modePicker.superview == nil) { 
    [self.view.window addSubview:self.modePicker]; 

    // size up the picker view to our screen and compute the start/end frame origin for our slide up animation 
    // 
    // compute the start frame 
    CGRect screenRect = [[UIScreen mainScreen] applicationFrame]; 
    CGSize pickerSize = [self.modePicker sizeThatFits:CGSizeZero]; 
    CGRect startRect = CGRectMake(0.0, screenRect.origin.y + screenRect.size.height, pickerSize.width, pickerSize.height); 
    self.modePicker.frame = startRect; 

    // compute the end frame 
    CGRect pickerRect = CGRectMake(0.0, screenRect.origin.y + screenRect.size.height - pickerSize.height, pickerSize.width, pickerSize.height); 

    // start the slide up animation 
    [UIView beginAnimations:nil context:NULL]; 
    [UIView setAnimationDuration:0.3]; 

    // we need to perform some post operations after the animation is complete 
    [UIView setAnimationDelegate:self]; 

    self.modePicker.frame = pickerRect; 

    // shrink the vertical size to make room for the picker 
    CGRect newFrame = self.view.frame; 
    newFrame.size.height -= self.modePicker.frame.size.height; 
    self.view.frame = newFrame; 
    [UIView commitAnimations]; 

    // add the "Done" button to the nav bar 
    self.navigationItem.rightBarButtonItem = self.doneButton; 
}} 

때마다 아무 일도 발생하지 않습니다 (모든 FirstViewController 아래 인)을 UINavigationBar에 사는 UIBarButtonItem을 통해이 작업을 발생합니다. 누구든지 조언을 해줄 수 있습니까?

답변

0

나는 UIPickerView가 인터페이스 빌더에서도 정의되었다는 사실을 놓쳤다. 그 일을하고 콘센트를 연결하면 모든 것이 작동한다!