2014-01-07 60 views
0

我有一个具有以下层次结构的UIControlView。UIScrollView隐藏UINavigationBar

... 
UIView 
    UIScrollview 
    textfield 
    button 
    textfield 
    button 
NavigationBar 
... 

当这个视图加载滚动视图时将导航条从屏幕上推下或隐藏它?我究竟做错了什么?

当我将srollview拖到UIViewController故事板上时,如果scrollview应该在480或430左右,那么它在导航栏下方?

// ===下面是代码(有除此以外没有其它自定义代码)======

- (void)viewDidLoad 
{ 
[super viewDidLoad]; 
// Do any additional setup after loading the view. 
DLog(@"%f", self.scrollView.contentOffset.y); 
//self.scrollView.contentOffset = CGPointMake(self.view.contentOffset.x,0); 

self.codeTextField.delegate = self; 

self.mobileTextField.delegate = self; 

[self.navBarLabel setTitleColor:[UIColor statDarkGray] forState:UIControlStateNormal]; 
[self.navBarLabel setTitleColor:[UIColor statDarkGray] forState:UIControlStateSelected]; 
[self.navBarLabel setTitleColor:[UIColor statLightGray] forState:UIControlStateHighlighted]; 

UIFont *font = [UIFont fontWithName:@"GothamRounded-Light" size:17]; 
[self.navBarLabel.titleLabel setFont:font]; 


//SETUP TEXTFIELDS 
// --- Setup textfield designs --------- 
self.codeTextField.borderStyle = UITextBorderStyleNone; 

UIImage *fieldBGImage = [[UIImage imageNamed:@"code_textfield.png"] stretchableImageWithLeftCapWidth:20 topCapHeight:20]; 
[self.codeTextField setBackground:fieldBGImage]; 
// for left padding 
self.codeTextField.leftView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 88, 20)]; 
self.codeTextField.leftViewMode = UITextFieldViewModeAlways; 

self.mobileTextField.leftView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 88, 20)]; 
self.mobileTextField.leftViewMode = UITextFieldViewModeAlways; 


// setup submit button 

self.submitButton.titleLabel.text = @"Submit"; 
self.submitButton.titleLabel.font = [UIFont fontWithName:@"GothamRounded-Light" size:18]; 
self.submitButton.enabled = NO; 

[self.submitButton setBackgroundImage:[UIImage imageNamed:@"bluebutton_disabled.png"] forState:UIControlStateDisabled]; 
[self.submitButton setBackgroundImage:[UIImage imageNamed:@"bluebutton_normal.png"] forState:UIControlStateNormal]; 
[self.submitButton setBackgroundImage:[UIImage imageNamed:@"bluebutton_selected.png"] forState:UIControlStateSelected]; 


// setup submit button 

self.resendCodeButton.enabled = NO; 
self.resendCodeButton.titleLabel.font = [UIFont fontWithName:@"GothamRounded-Light" size:18]; 

[self.resendCodeButton setBackgroundImage:[UIImage imageNamed:@"redbutton_disabled.png"] forState:UIControlStateDisabled]; 
[self.resendCodeButton setBackgroundImage:[UIImage imageNamed:@"redbutton_normal.png"] forState:UIControlStateNormal]; 
[self.resendCodeButton setBackgroundImage:[UIImage imageNamed:@"redbutton_selected.png"] forState:UIControlStateSelected]; 


// SETUP BUTTONS 
// The next arrow button 
UIImage *background = [UIImage imageNamed:@"Cancel_normal.png"]; 
UIImage *backgroundSelected = [UIImage imageNamed:@"Cancel_selected.png"]; 
self.cancelButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
[self.cancelButton addTarget:self action:@selector(cancelPressed:) forControlEvents:UIControlEventTouchUpInside]; //adding action 
[self.cancelButton setBackgroundImage:background forState:UIControlStateNormal]; 
[self.cancelButton setBackgroundImage:backgroundSelected forState:UIControlStateSelected]; 
self.cancelButton.frame = CGRectMake(0 ,0,background.size.width, background.size.height); 
self.cancelButtonItem = [[UIBarButtonItem alloc] initWithCustomView:self.cancelButton]; 
self.navigationItem.leftBarButtonItem = self.cancelButtonItem; 

} 
+0

显示您的代码或带来更多细节。 –

+0

您是否尝试对视图进行重新排序并将NavigationBar放在其他视图之上? – Andy

+0

您不能对xcode 5 ios7中的导航栏进行重新排序,它不会让您拖动它们。参见上面的层级。 – jdog

回答

0

有人模式地示出未按。即使我设计了一个导航栏并在设置中设置了一个(半透明栏)。它没有显示一个?

所以在segue上,我使用模态显示,无论它是否有UIView或UIScrollView,都不会显示导航栏。通过切换到PUSH segue,它现在显示导航栏。固定。

我只是决定推动视图而不是模态来完成它。

+0

如果这是您的问题的解决方案,您是否可以更具体地了解您做了什么(对于未来的读者),然后将其标记为答案? –