我一直收到以下错误:
2011-04-02 14:55:23.350 AppName[42430:207] nested push animation can result in corrupted navigation bar
2011-04-02 14:55:23.352 AppName[42430:207] nested push animation can result in corrupted navigation bar
2011-04-02 14:55:23.729 AppName[42430:207] Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted.
2011-04-02 14:55:23.729 AppName[42430:207] Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted.
Run Code Online (Sandbox Code Playgroud)
这就是我在做的事情.从视图控制器,我按下某个按钮时调用以下内容:
EventsViewController *viewController = [[EventsViewController alloc] init];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:viewController];
navController.navigationBar.tintColor = [UIColor blackColor]; …
Run Code Online (Sandbox Code Playgroud) 我有一个带导航栏的应用程序,它会推送到登录屏幕视图控制器,然后推送到主菜单.有什么办法可以删除主菜单上的后退按钮,这样用户就无法返回登录界面了?
谢谢!
编辑:使用Xcode 4.3并以编程方式完成所有腿部工作.
我在视图之间正确传递数据时遇到问题,但不是标准方式.
描述我的问题的图片:
我performSegueWithIdentifier两个赛格瑞标识符中的一个,然后我想将数据传递给视图控制器称为"FIRMY"或"Oddzialy".
传递数据代码:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"sLogowanieFirmy"]) {
FirmyVC *firmyVC = [segue destinationViewController];
firmyVC.tabFirmy = self.tabFirmy;
}
if ([[segue identifier] isEqualToString:@"sLogowanieOddzialy"]) {
OddzialyVC *oddzialyVC = [segue destinationViewController];
oddzialyVC.wybranaFirma = [self.tabFirmy objectAtIndex:0];
}
}
Run Code Online (Sandbox Code Playgroud)
问题是方法[segue destinationViewController]因为segue的destinationViewController是NavigationViewController.
那么传递数据和拥有独立的导航控制器的正确方法是什么?
我正在抓住Dribble并找到了附件设计.我想知道如何做这样的自定义导航栏.我的意思是如何创建一次导航栏并为每个视图控制器隐式重用它.
我正在考虑使用一种根视图控制器并继承其他视图控制器,但我不知道如何做到这一点.
任何想法或链接将是appreachated!
干杯.
西里尔
iphone user-interface uinavigationcontroller navigationcontroller ios
我想在导航到其他片段时使用导航架构组件添加共享元素转换.但我不知道怎么做.在文件中也没有任何关于它的内容.有人能帮我吗?
android navigationcontroller android-architecture-components
我明白之间的差别dismissViewControllerAnimated:completion:
,并popViewControllerAnimated:
如所描述的堆栈溢出,在这里:
-dismissViewControllerAnimated:completion:
方法用于驳回的UIViewController,这是由该方法提出:-presentViewController:animated:completion:
.
-popViewControllerAnimated:
UINavigationController的方法用于弹出-pushViewController:animated
UINavigationController方法所示的控制器.
我最近在我的应用程序中发现了一个错误,我正在使用它[self dismissViewControllerAnimated:completion:]
来解雇在导航嵌入式应用程序中推送的VC.当我应该吃比萨饼的时候,法国人炒了.我没有抓到错误,因为一切正常,我的VC按预期被解除分配.
我的问题:混合这两种方法有什么后果?
我正在使用Kotlin并在我的项目中添加了所有引用.
// Navigation
implementation "android.arch.navigation:navigation-common-ktx:$rootProject.nav_version"
implementation "android.arch.navigation:navigation-fragment-ktx:$rootProject.nav_version"
implementation "android.arch.navigation:navigation-runtime-ktx:$rootProject.nav_version"
implementation "android.arch.navigation:navigation-ui-ktx:$rootProject.nav_version"
Run Code Online (Sandbox Code Playgroud)
我也在build.gradle之上有这些
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
apply plugin: 'androidx.navigation.safeargs'
我在我的片段中使用它就像这样
class HomeFragment : BaseFragment(){
...
override fun onCategoryItemClicked(category: Category) {
view.findNavController()?.navigate(R.id.phrasesFragment)
}
}
Run Code Online (Sandbox Code Playgroud)
我也可以看到这个生成的扩展名(文件)
fun Fragment.findNavController(): NavController =
NavHostFragment.findNavController(this)
Run Code Online (Sandbox Code Playgroud) 我只是尝试通过xcode 4.2创建基于导航的应用程序,我在新窗口中找到的所有内容都与基于导航的应用程序无关.我找到了基于页面的应用程序,它是基于导航的应用程序最接近的东西
但它创建了故事板,我无法处理..
那么有没有办法创建一个好的旧的基于导航的应用程序?如果不是什么替代品?
我有我的观点和控制器设置如此.
我想要做的是访问顶部标签栏/导航控制器,以便我可以将视图推到它上面.
我尝试了parentViewController但它所做的就是将视图推送到编程的导航控制器上.
有什么建议?
这是我设置我的根视图控制器的方式:
-(void)viewDidAppear:(BOOL)animated{
NSLog(@"ROOT APPEARED");
[super viewDidAppear:animated];
WorklistViewController *worklistController = [[WorklistViewController alloc]initWithNibName:@"WorklistView" bundle:[NSBundle mainBundle]];
UINavigationController *worklistNavController = [[UINavigationController alloc] initWithRootViewController:worklistController];
worklistNavController.navigationBar.barStyle = UIBarStyleBlackOpaque;
worklistNavController.view.frame = watchlistView.frame;
[worklistNavController.topViewController viewDidLoad];
[worklistNavController.topViewController viewWillAppear:YES];
[self.view addSubview:worklistNavController.view];
GetAlertRequestViewController *alertsController = [[GetAlertRequestViewController alloc]initWithNibName:@"AlertsView" bundle:[NSBundle mainBundle]];
UINavigationController *alertsNavController = [[UINavigationController alloc] initWithRootViewController:alertsController];
alertsNavController.navigationBar.barStyle = UIBarStyleBlackOpaque;
alertsNavController.view.frame = alertsView.frame;
[alertsNavController.topViewController viewDidLoad];
[alertsNavController.topViewController viewWillAppear:YES];
[self.view addSubview:alertsNavController.view];
}
Run Code Online (Sandbox Code Playgroud) 我想检查我所在的视图控制器是否是根视图控制器或是否在某个导航控制器上推送.
ios ×5
iphone ×3
android ×2
cocoa-touch ×2
objective-c ×2
android-architecture-components ×1
ios4 ×1
kotlin ×1
push ×1
storyboard ×1
subview ×1
xcode4.2 ×1