【问题标题】:addSubView not working, attempting to switch viewsaddSubView 不工作,试图切换视图
【发布时间】:2013-03-06 13:16:30
【问题描述】:

// ViewController.m

1: - (IBAction)doNE:(id)sender {
2:
3:     [self.view removeFromSuperview];
4:     [self.view addSubView:MasterViewController];
4: }

第 4 行出错:“意外的接口名称 MasterViewController:预期的表达式”。 我有两个视图控制器:ViewControllerMasterViewController。我已将其设置为第一个视图是ViewController,但我正在尝试获取一个按钮来更改视图。

【问题讨论】:

  • 先明确自己要做什么?想要关闭(删除)视图控制器。 ?
  • 有两个屏幕,我想从开始屏幕切换到第二个屏幕。该项目是一个电话簿,第一个屏幕是联系人编辑/创建屏幕,第二个屏幕是一个包含联系人列表的表格视图。
  • 所以你想将第一个 ViewController 移动到 MasterViewController。
  • 我知道这一点,所以我不完全确定技术性,但我只是想在按下按钮后改变屏幕
  • 如果你想从一个视图控制器移动到另一个视图控制器试试这个。stackoverflow.com/questions/910994/…

标签: objective-c addsubview


【解决方案1】:
MasterViewController *obj = [MasterViewController alloc]init];
self.navigationController pushViewController:obj animated:YES];

您可以使用此代码 sn-p 。这将推送一个新的视图控制器。并且会给你一个后退按钮功能去上一个视图控制器。

【讨论】:

  • 嗨,谢谢,编译好了,但是当我点击按钮时,什么也没发生
  • 对不起,我以前用过日志的东西,但我太菜鸟了,不能再把那个东西拿出来哈哈
  • 你在说什么?如果你不告诉我日志声明,我将如何帮助你?
  • NSLog(@"",obj);我在引号内放什么才能让它工作
【解决方案2】:

你可以使用这个将第一个 OneViewController 移动到 AnotherViewController。

- (IBAction)buttonPressed:(id)sender {
    MasterViewController *createUserController = [[MasterViewController alloc] initWithNibName:@"MasterViewController" bundle:[NSBundle mainBundle] keyWrapper:keyChainWrapper];
    [self presentViewController:createUserController animated:YES completion:nil];
}

如果你使用 UINavigationViewController 你可以像推送 ViewController 一样

[self.navigationController pushViewController:createUserController  animated:YES];

然后返回使用

[self.navigationController popViewController:createUserController animated:YES];

【讨论】:

  • 使用未声明的标识符“keyChainWrapper”
  • 我删除了导致一些错误的keychainwrapper,它编译了,但是当我按下按钮时,它抛出了一个异常
  • 对不起,我不得不下机,不确定您是否会再看到这些消息,错误是:使用未声明的标识符“keyChainWrapper”
猜你喜欢
  • 1970-01-01
  • 2014-09-07
  • 1970-01-01
  • 2020-03-21
  • 2015-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多