Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS故事板设计的应用程序_Ios_User Interface_Uistoryboard - Fatal编程技术网

iOS故事板设计的应用程序

iOS故事板设计的应用程序,ios,user-interface,uistoryboard,Ios,User Interface,Uistoryboard,嗯 我对一些事情很困惑。。。作为iOS开发的新手,我经常被推向故事板/图形设计(特别是使文件所有者、segue等类型的连接)。然而每次除了基本的(我敢说是原始的)设计之外,还有其他东西,我都必须通过代码来做。。。根据苹果公司的说法,问题是仅仅因为你们可以通过代码做一些事情并不能使它正确。因此,你必须知道所有的规则,让你的应用程序批准。甚至苹果的一些例子(UISPLITVIEW和多视图控制器->MultipleDetailView)也没有故事板,只是简单地。。。这正常吗 所以问题是:若你们无论如何

我对一些事情很困惑。。。作为iOS开发的新手,我经常被推向故事板/图形设计(特别是使文件所有者、segue等类型的连接)。然而每次除了基本的(我敢说是原始的)设计之外,还有其他东西,我都必须通过代码来做。。。根据苹果公司的说法,问题是仅仅因为你们可以通过代码做一些事情并不能使它正确。因此,你必须知道所有的规则,让你的应用程序批准。甚至苹果的一些例子(UISPLITVIEW和多视图控制器->MultipleDetailView)也没有故事板,只是简单地。。。这正常吗

所以问题是:若你们无论如何都要转向编码解决方案,为什么还要进行图形设计呢。只是说你有一个易于编程的界面

有人能帮我理解吗

干杯

这里发生了三件事(至少!):

  • 故事板是相对较新的,在引入故事板之前已经有很多例子
  • 人们总是在幻想一些比高级方法更复杂的事情。(即使使用比故事板更灵活的.xib文件,人们也会编写自定义代码来规避限制。)
  • 例如,代码是线性的,并且比一系列单击和拖动的描述更容易理解
    • 这里有三件事(至少!):

      • 故事板是相对较新的,在引入故事板之前已经有很多例子
      • 人们总是在幻想一些比高级方法更复杂的事情。(即使使用比故事板更灵活的.xib文件,人们也会编写自定义代码来规避限制。)
      • 例如,代码是线性的,并且比一系列单击和拖动的描述更容易理解

      因此,首先,故事板只不过是.xib文件的集合。当您使用故事板时,Xcode将为您卸载所有NIB。在其核心,你的应用程序仍然使用这些nib文件


      此外,如果您使用代码设置属性而不是在Interface Builder中设置属性,您的应用程序不会被拒绝,反之亦然。我不知道我会说苹果的立场仅仅是因为你可以在代码中做一些事情并不正确。我认为,他们敦促开发人员通过IB设置尽可能多的属性,因为编写的代码越少,引入的bug就越少。如果我在nib中有一个视图,我在IB中检查它的“hidden”属性,这和我在代码中说view.hidden=YES没有什么不同。苹果不喜欢一个而不是另一个。但是使用IB使我不必知道隐藏视图的属性是“隐藏”的,并且它接受BOOL作为参数。如果在iOS6中,他们决定让它成为shouldHideSelf,那么使用IB的hidden属性将自动更新,因为我必须手动更新hidden属性的编程设置。

      因此,首先,故事板只不过是.xib文件的集合。当您使用故事板时,Xcode将为您卸载所有NIB。在其核心,你的应用程序仍然使用这些nib文件

      此外,如果您使用代码设置属性而不是在Interface Builder中设置属性,您的应用程序不会被拒绝,反之亦然。我不知道我会说苹果的立场仅仅是因为你可以在代码中做一些事情并不正确。我认为,他们敦促开发人员通过IB设置尽可能多的属性,因为编写的代码越少,引入的bug就越少。如果我在nib中有一个视图,我在IB中检查它的“hidden”属性,这和我在代码中说view.hidden=YES没有什么不同。苹果不喜欢一个而不是另一个。但是使用IB使我不必知道隐藏视图的属性是“隐藏”的,并且它接受BOOL作为参数。如果在iOS6中,他们决定让它成为shouldHideSelf,那么使用IB的hidden属性将自动更新,因为我必须手动更新hidden属性的编程设置