如何在没有故事板的情况下学习iOS编程?

Jay*_*ani 1 cocoa-touch ios

三个月前我开始学习iOS开发,为我的一类建立一个最终项目.自从我使用故事板以来,一些TA建议学习如何在没有故事板的情况下编写iOS程序,完全以程序方式编写.我一直收到SIGBART错误,这迫使我删除有问题的按钮/字段,然后再次执行完全相同的操作以重新校准故事板.我宁愿以编程方式进行,也是第一次工作.

无论如何,我将如何学习如何以编程方式而不是使用XIB/NIB或故事板来学习所有内容?我似乎遇到的每个教程或书籍都使用这两种方法中的一种,因为它们看起来更容易让初学者接受.

提前致谢.

小智 6

我一直用这种方式在XCode中构建一段时间,我在开发中不使用任何Xib文件.

只需按照以下步骤开始即可:

  1. 创建一个新的单视图应用程序
  2. 在导航器中,删除两个".storyboard"文件.
  3. 在支持文件下的".plist"文件中,删除与"主故事板文件基本名称..."相关的两个字符串.
  4. 在你的'AppDelegate.m'中,在顶部包含你的自定义UIViewController然后
  5. 更新'didFinishLaunchingWithOptions'方法,如下所示:

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{        
      self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
      UIViewController *viewController = [[MyViewController alloc] init];
      self.window.rootViewController = [[UINavigationController alloc] initWithRootViewController:viewController];
      [self.window makeKeyAndVisible];
      return YES;
    }
    
    Run Code Online (Sandbox Code Playgroud)

运行应用程序应该显示默认情况下具有黑色背景的新屏幕(MyViewController).

在你的UIViewController中,你现在可以开始编写你需要的内容,说'viewDidLoad'方法.以下一些例子:

    - (void)viewDidLoad {
      [super viewDidLoad];
      self.view.backgroundColor = [UIColor whiteColor];

      UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(50, 50, 200, 200)];
      myView.backgroundColor = [UIColor greenColor];
      [self.view addSubview:myView];

      UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 180, 50)];
      myLabel.font = [UIFont systemFontOfSize:20];
      myLabel.text = @"Example";
      myLabel.textColor = [UIColor darkGrayColor];
      [myView addSubview:myLabel];
    }
Run Code Online (Sandbox Code Playgroud)

网上有很多编码示例.干杯.