【问题标题】:Trouble with UIViewControllers when pushing to UINavigationController - iOS 7.1推送到 UINavigationController 时 UIViewControllers 出现问题 - iOS 7.1
【发布时间】:2014-09-03 11:18:45
【问题描述】:

我的 iOS 7.1 应用程序有一个奇怪的错误。见下图。当我尝试在 UITableView:didSelectRowAtIndexPath 事件上推送 Alarm-ViewController 时会发生这种情况。任何想法如何解决这个问题?

代码:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

    Alarm *alarm = _settings.sharedSettings[indexPath.row];

    AlarmViewController *alarmViewController = [[AlarmViewController alloc] initWithAlarm:alarm];
    alarmViewController.title = NSLocalizedString(@"TITLE",  nil);

    [self.navigationController pushViewController:alarmViewController animated:YES];
}

【问题讨论】:

  • 您正在推送一个带有 UIPickerView 的视图控制器并且它显示为透明的?是吗?也许你可以更好地解释这个问题。
  • 是和否。好的,让我试着解释得更好。我有一个 TableViewController 从那里我尝试推送到另一个 ViewController (AlarmViewController)。 AlarmViewController 像编辑模式中的标准 iOS7 AlarmClock-App 一样被拆分(顶部:DatePicker,底部:SettingsTableView)。好的,现在 AlarmViewController 将推送,但是当推送(从 TableViewController 到 AlarmViewController)在动画持续时间内将 TableViewController 与 AlarmViewController 重叠。重叠仅出现在 AlarmViewController 的顶部,但在两个方向上。更清楚了吗?谢谢
  • @TiagoLira:好的,我可以解决我的问题。你给出了正确的提示。你是对的,我只需要将 background-color=white 设置为 AlarmViewController 的视图,就没有透明度和重叠了。谢谢!

标签: ios objective-c iphone xcode uiviewcontroller


【解决方案1】:

简单的解决方案。 只需设置 UIView 的 Background-Color 即可。

UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 150)];
view.backgroundColor = [UIColor whiteColor];

//add other Controls to view

self.view = view;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-18
    • 1970-01-01
    • 1970-01-01
    • 2013-01-22
    • 2016-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多