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

时间:2014-01-16 23:27:37

标签: ios cocoa-touch

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

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

提前致谢。

2 个答案:

答案 0 :(得分: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;
    }
    
  6. 运行应用程序应该会显示默认情况下具有黑色背景的新屏幕(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];
        }
    

    网上有很多编码示例。欢呼声。

答案 1 :(得分:0)

  1. 开始阅读Apple类引用您要使用的所有内容。当您以编程方式执行操作时,了解要使用的属性和方法非常重要。
  2. 为每个Google搜索添加“以编程方式”。
  3. 习惯于将框架设置为几乎所有内容。
  4. 在我的理解中,故事板远不及初学者材料。它需要非常深入地了解事情将如何运作以及实际可能实现的目标(尽管xcode试图欺骗你)。你可以改变某些东西的字体和颜色,并认为它会真正改变,愚蠢的你。 特别是调试可能很麻烦。我记得从我的第一个故事板项目开始3次,因为它是fubar(据我当时可以调试)。 这些事情在开始时可能非常混乱。

    根据我的经验,Nib / Xibs更稳定,所以你可能想尝试一两个观点。

    稍后,您不想错过故事板。您可以通过几次鼠标点击跳过数百行代码和可视化调试,它可以为您提供更好的大型项目概览。