2012-10-16 5 views
1

Xcode 개발을 처음 접했고 내 iPhone 응용 프로그램에서 UIToolbar에서 발생하는 slide-up menu을 개발하고 싶습니다.Xcode에서 슬라이드 업 메뉴를 작성하는 방법

toggle 단추를 누를 때 메뉴 단추가있는 하위보기를 만들고 기본보기에 추가 한 다음 위로 (보이게) 또는 아래로 (숨김) 밀어 넣으면서 보는 것이 있습니다.

프로그래밍 방식으로 어떻게합니까?! iPhone 용 Opera 앱으로 잘 처리됩니다 (그림 참조). 당신이 무슨 말을

opera-app

답변

5

은 당신의 MAINVIEW에 하위 뷰를 추가하고 볼과 unvisible하기 위해 위아래로 밀어으로 코드에 의해 수행 할 수 있습니다.

1) 처음부터 뷰에 표시되지 않도록 먼 뷰에 서브 뷰를 추가하십시오. 이제 두 IBActions showMySubview 및 hideMySubview을하고 label.text을 확인하여 해당 버튼에 연결하거나 하나 개의 버튼으로 어떤 토글을 할 수

subView = [[UIView alloc]initWithFrame:CGRectMake(0,470,320,200)]]; // subView is an ivar 
// Add stuffs to your subview 
[self.view addSubview:subView]; 

2). 당신의 hideMySubview에서 당신의 showMySubview

 [UIView beginAnimations:nil context:nil]; 
     [UIView setAnimationDuration:1.5]; 
     [UIView setAnimationDelay:0.0]; 
     subView.frame = CGRectMake(0, 50, 320, 200); 
     [UIView commitAnimations]; 

4)에서

3)

 [UIView beginAnimations:nil context:nil]; 
     [UIView setAnimationDuration:1.5]; 
     [UIView setAnimationDelay:0.0]; 
     editPopUpView.frame = CGRectMake(0, 470, 320, 200); 
     [UIView commitAnimations]; 

또한 일부는 좋은 프로젝트에 QuartzCore 프레임 워크를 추가 찾도록 서브 뷰에 일을 아름답게 할 수있다 .m 파일에서 가져 와서 메인 뷰에 하위 뷰를 추가 한 후이 라인을 추가하십시오. #import "QuartzCore/QuartzCore.h"

[[subView layer] setCornerRadius:12.0f]; 
[[subView layer] setMasksToBounds:YES]; 
[[subView layer] setBorderWidth:4.0f]; 
[subView layer].borderColor = [UIColor purpleColor].CGColor; 

희망이 어쨌든에 도움이 될 것입니다 :)

편집 : 이제

for (int i = 0; i < 3; i++) { 

    for (int j = 0; j < 3; j++) { 

     UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom]; 
     btn.frame  = CGRectMake(j*60,200+ 35 * i ,50 , 30); 
     //[btn setTitle:@"Test" forState:UIControlStateNormal]; 
     [btn setBackgroundImage:[UIImage imageNamed:@"normal.png"] forState:UIControlStateNormal]; 
     [btn setBackgroundImage:[UIImage imageNamed:@"selected.png"] forState:UIControlStateHighlighted]; 
     btn.tag = (j + 1) + (3 * i); 
     [btn addTarget:self action:@selector(subViewButtonClicked:) forControlEvents:UIControlEventTouchUpInside]; 
     btn.showsTouchWhenHighlighted = YES; 
     [subView addSubview:btn]; // its the subview we added to our main view add this after initializing the subview 

    } 
} 

누르기를 잡을 수있는 기능 :

이 서브 뷰에 코드를 통해 버튼 추가 모든 버튼 중

-(IBAction)subViewButtonClicked:(id)sender 
{ 
    switch ([sender tag]) { 
    case 1: 
    { 
     // Do your stuff here 

     NSLog(@"the tag of sender is %i",[sender tag]); 

     break; 
    } 

    case 2: 
    { 
     // Do your stuff here 

     NSLog(@"the tag of sender is %i",[sender tag]); 

     break; 
    } 
    case 3: 
    { 
     // Do your stuff here 

     NSLog(@"the tag of sender is %i",[sender tag]); 

     break; 
    } 
    case 4: 
    { 
     // Do your stuff here 

     NSLog(@"the tag of sender is %i",[sender tag]); 

     break; 
    } 
    case 5: 
    { 
     // Do your stuff here 

     NSLog(@"the tag of sender is %i",[sender tag]); 

     break; 
    } 

    case 6: 
    { 
     // Do your stuff here 

     NSLog(@"the tag of sender is %i",[sender tag]); 

     break; 
    } 
    case 7: 
    { 
     // Do your stuff here 

     NSLog(@"the tag of sender is %i",[sender tag]); 

     break; 
    } 
    case 8: 
    { 
     // Do your stuff here 

     NSLog(@"the tag of sender is %i",[sender tag]); 

     break; 
    } 

    case 9: 
    { 
     // Do your stuff here 

     NSLog(@"the tag of sender is %i",[sender tag]); 

     break; 
    } 
    default: 
     break; 
} 

} 

거기에 여러 가지 쉬운 방법이있을 수 있지만 이것은 당신에게 시작을 얻을 수 있기를 바랍니다 :)

+0

안녕하세요 Naveen, 정말 고마워요! 이것은 내 작업의 첫 번째 절반을 완료하는 데 도움이! 첨부 된 파일과 같이 메뉴보기에서 그리드 모양의 레이아웃을 얻고 싶습니다. UICollectionViewCells와 함께 UICollectionView를 사용하여이를 수행 할 수 있습니까? 해봤지만 뷰와 셀을 초기화하는 데 문제가 있습니다. –

+0

@VinodVishwanath 쉬운 방법은 그런 방식으로 맞춤 검색 버튼을 추가하고 배경 이미지를 제공하는 것입니다. – superGokuN

+0

버튼을 프로그래밍 방식으로 하위보기에 추가하십시오. – superGokuN

관련 문제