0

嘿,伙计们,就像问题所述,我试图在不使用 presentModalViewController 或 pushViewController 的情况下滑入 UIDatePicker,然后隐藏应用程序的主 UITabBar。现在,我正在将导航栏上带有几个按钮的 UIDatePicker 子视图添加到临时 UIViewController,并使用该临时控制器作为根来初始化 UINavigationController。我将此导航控制器作为子视图添加到 self.navigationController.tabBarController 以尝试覆盖 UITabBar,但是当我将 UITabBar 设置为隐藏时,我看到的只是它下面的白色,没有 UIDatePicker 可见。有什么建议么?

注意:我的理由是我无法找到一种方法来使用比屏幕小的视图来使用 presentModalViewController。

4

2 回答 2

5

在这里回答,隐藏 UiTabBar

更新:来自链接的代码

BOOL hiddenTabBar;
UITabBarController *tabBarController;

- (void) hideTabBar {

     [UIView beginAnimations:nil context:NULL];
     [UIView setAnimationDuration:0.4];
     for(UIView *view in tabBarController.view.subviews)
     {
          CGRect _rect = view.frame;
          if([view isKindOfClass:[UITabBar class]])
          {
               if (hiddenTabBar) {
                    _rect.origin.y = 431;
                    [view setFrame:_rect];
               } else {
                    _rect.origin.y = 480;
                    [view setFrame:_rect];
               }
          } else {
               if (hiddenTabBar) {
                    _rect.size.height = 431;
                    [view setFrame:_rect];
               } else {
                    _rect.size.height = 480;
                    [view setFrame:_rect];
               }
          }
     }    
     [UIView commitAnimations];

     hiddenTabBar = !hiddenTabBar;
}

更新:修改代码以在 iPad(在模拟器中测试)和 iPhone(未测试,但希望它会工作)上工作 https://stackoverflow.com/a/8584684/336422

于 2010-01-03T23:47:13.397 回答
0

你可以看看 Apple 的 DateCell 示例。当您调用 becomeFirstResponder 时,UIDatePicker 就像 UITextField 的键盘一样从底部滑动。

于 2010-02-20T14:52:58.630 回答