2012-06-12 3 views
0

내가 원했던 것은 처음에는 탐색 바를 숨긴 다음 사용자가 화면 상단에 닿는다면 탐색 막대가 약 1 초 또는 2 초 동안 표시되고 사라질 것입니다.터치가있는 탐색 모음을 표시하는 방법?

배경과 같은 색상의 버튼을 추가하고 터치했을 때 탐색 표시 줄이 보이지만 작동하지 않는 것 같습니다.

데모를 어떻게하면 사용자에게이 기능을 보여줄 수 있습니까? 감사!

+1

그냥 교수형 찾는 비트, 난 데모 응용 프로그램을 작성하고, 테스트, 그래서 잘 작동했다 원하는 출력을 제공합니다. 아래는 시도 할 수있는 코드입니다. – iLearner

답변

2
응용 프로그램에서 탐색 모음을 사용하면 터치 이벤트를 추가 할 뷰 컨트롤러에 와서,이 두 가지 방법을 사용 delegate.then

첫 숨기기 :

  • (무효) touchesBegan : (NSSet (의 UIEvent *) 이벤트

{

//mouseSwiped = NO; 
CGPoint touchPoint; 
//CGPoint touchPointNavigationBar; 
UITouch *touch = [touches anyObject]; 
touchPoint=[touch locationInView:self.view]; 
if (self.navigationController.navigationBarHidden==YES) { 
    if (touchPoint.y<50) { 
     self.navigationController.navigationBarHidden=NO; 
     timer=[NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(hideNavigationBar) userInfo:nil repeats:NO]; 
     [[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes]; 
    } 
} 

} *) withEvent 접촉

- (무효) hideNavigationBar

{

self.navigationController.navigationBarHidden=YES; 
if ([timer isValid]) { 
    [timer invalidate]; 
    return; 
} 

}

D는 문제를 풀기가 있습니다 R &의
1

출력을 얻는 방법 중 하나입니다. 나는이 코드를 한 줄씩 설명하고 있는데, 도움이 될 것이다.

1]

보기의 상단에있는 버튼 하나를 추가하고 그 버튼 모든 투명 배경 이미지를 추가하고 쓰기 self.navigationController.navigationBarHidden = YES; viewDidLoad의

// 내비게이션 막대를 숨길 수 있습니다. 이제 사용자 고유의 사용자 정의 탐색 바를 만들 수 있습니다.

2

이제 XIB에 sepatare의 UIView 걸릴 뷰 2로 명명하고, 각 함께 IBOutlet 연결한다.

각 IBOutlets 및 IBAction과 두 가지 기능을 사용하여보기 및 버튼에 연결하십시오.

아래의 코드는 .H 파일로 전환

함께 IBOutlet있는 UIButton * btnHideNShow는 >>>>>; // 버튼에 연결

IBOutlet UIView * viewTemp; //보기에 연결

- (IBAction) btnHideNShowAction : (id) 보낸 사람; // 버튼에 연결

- (void) fun1;

- (공백) fun2;

3

이제 아래 코드로 간다.m 파일 >>>>

- (IBAction를) btnHideNShowAction (ID) 송신기 {

btnHideNShow.hidden = YES; 
[NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(fun1) userInfo:nil repeats:NO]; 

}

- (무효) fun1 {

viewTemp.frame = CGRectMake(0, 0, 320, 59); 
[self.view addSubview:viewTemp]; 


[NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(fun2) userInfo:nil repeats:NO]; 

}

- (공백) Fun2에는 {

[viewTemp removeFromSuperview]; 
btnHideNShow.hidden = NO; 

}

> 당신은 당신의 requirment에 따라이보기를 사용자 정의 할 수 있습니다.

관련 문제