UINavigation栏在iPhone 4中消失(iOS 7.1.2)

时间:2015-09-01 08:58:04

标签: ios objective-c uinavigationcontroller storyboard uinavigationbar

这可能是一个小问题,但我没有得到的地方&怎么了。 当我在iPhone 4s到6+的模拟器上运行时,它工作正常。

enter image description here

但是当我在iPhone 4(iOS 7.1.2)上运行时,红色导航栏会消失。

这是我的代码

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:    (NSIndexPath *)indexPath{
       UITableViewCell *cell = [self.tableview cellForRowAtIndexPath:indexPath.row];
if([cell isKindOfClass:[A class]]){
        for (UITableViewCell *cell in self.tableview) {
    if([cell isKindOfClass:[B class]]){
        cell.hidden = YES;
    }
}
}
else if ([cell isKindOfClass:[B class]]){  
for (UITableViewCell *cell in self.tableview) {
    if([cell isKindOfClass:[A class]]){
        cell.hidden = YES;
    }
}
}
[self.tableview reloadData]; 
}

了解更多详情

1)我使用上一个视图中的show segue进入此屏幕。

2)我在故事板中创建了这个屏幕。(我也检查了约束,但所有限制都是正确的)我没有在故事板中给出任何导航栏。另外,我还没有以编程方式在控制器中隐藏导航栏。

3)我也试过

  - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
 {
// Override point for customization after application launch.
  [[UINavigationBar appearance]setBarTintColor:[UIColor redColor]];
 }

在viewDidLoad和viewDidAppear中但它无法正常工作。

任何人都可以帮帮我吗?

经过一些建议后,我尝试在viewDidLoad,viewDidAppear(部署目标7.1)中更新以下代码

//    UINavigationBar *navbar = [[UINavigationBar   alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 50)];
//    [navbar setBackgroundColor:[UIColor yellowColor]];
//    [self.view addSubview:navbar];

面对同样的问题。

1 个答案:

答案 0 :(得分:1)

花了一些时间后,我得到了解决方案enter image description here

每当像上面那样从一个VC到另一个VC显示segue时。然后是UINavigation条形码

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
 {
 // Override point for customization after application launch.
 [[UINavigationBar appearance]setBarTintColor:[UIColor redColor]];
 }

不适用于iOS 7.1(在我的情况下,它发生在购买凭证第二视图控制器上)。

所以我刚刚删除了segue并使用

浏览下一个屏幕
- (IBAction)didTapOnNext:(id)sender
{
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
BuyVaucherSecondViewController *bvs = [storyboard instantiateViewControllerWithIdentifier:@"buyVaucherSecond"];
[self.navigationController pushViewController:bvs animated:YES];
}

然后它适用于我&导航栏显示为iOS 7.1。 :)