Iphone 在代码、IB和组合中创建对象时仍然模糊

Iphone 在代码、IB和组合中创建对象时仍然模糊,iphone,objective-c,xcode,cocoa-touch,Iphone,Objective C,Xcode,Cocoa Touch,我对Xcode等还是比较陌生,所以在Xcode中创建/使用对象时我有点模糊 例如,我使用了一个用代码创建手势识别器的教程——它非常简单 现在我只有这个。h: @interface PlayPage : UIViewController <UIGestureRecognizerDelegate> 以下是我的问题: 1) 如果我还想看到IB中的手势识别器和上面的代码(也许这样我可以更改一些设置,因为我不熟悉所有内容),我该如何实现 2) 您将如何决定何时使用所有代码,而不是混合使用代码

我对Xcode等还是比较陌生,所以在Xcode中创建/使用对象时我有点模糊

例如,我使用了一个用代码创建手势识别器的教程——它非常简单

现在我只有这个。h:

@interface PlayPage : UIViewController <UIGestureRecognizerDelegate>
以下是我的问题:

1) 如果我还想看到IB中的手势识别器和上面的代码(也许这样我可以更改一些设置,因为我不熟悉所有内容),我该如何实现

2) 您将如何决定何时使用所有代码,而不是混合使用代码/IB?这完全是一个风格/舒适/熟悉的问题吗

3) 声明不同的对象似乎需要不同的“设置”代码(例如,UITextLabel vs gestureRecognitor vs UITextField)——您如何知道何时使用哪种代码

谢谢你帮我澄清这件事

  • 在Xcode 4.x Interface builder中,您可以将
    UIgestureRecognitor
    对象拖到视图上。因此,您需要在Interface builder中添加
    UIgestureRecognitor
    (如果您需要在代码中进行更多配置,那么还需要将它们与插座连接起来)

  • 我尝试在IB中做任何我能做的事情,并在必要时开始编写代码,但这是一个偏好问题

    • 我宁愿关注视图的位置并使用捕捉向导,也不愿花一段时间在代码中找出它
    • 如果在IB中执行,则可以隐藏大量锅炉板代码
  • 开始输入并查看自动完成选项,以加快记忆。但更重要的是,每次使用以前从未使用过的类时,您至少应该浏览一下文档,看看有什么建议如果问题海报真的不厌其烦地查看大量可用文档,那么本网站上一半的问题都可以轻松解决。


  • 更新

    您需要在Interface Builder中创建
    UIgestureRecognitor
    ,而不是您的代码

    在Interface Builder中,确保
    实用程序
    pain可见,并将所需类的
    UIgestureRecognitor
    拖放到视图中

    这就是
    UIgestureRecognitor
    类的外观:

    然后在
    实用程序
    面板中配置对象。如果您希望能够在代码中访问此对象,则需要一个
    IBOutlet

    在类头文件中为此添加新的ivar

    @property (nonatomic, retain) IBOutlet UITapGestureRecognizer *tapGestureRecognizer;
    
    在实现文件中,合成此

    @synthesize tapGestureRecognizer = _tapGestureRecognizer;
    
    然后回到Interface builder中,通过按住ctrl键和ctrl键,单击并将文件的所有者拖动到UIgestureRecognitor子类,将其连接起来。然后从出现的窗口中选择ivar:

  • 在Xcode 4.x Interface builder中,您可以将
    UIgestureRecognitor
    对象拖到视图上。因此,您需要在Interface builder中添加
    UIgestureRecognitor
    (如果您需要在代码中进行更多配置,那么还需要将它们与插座连接起来)

  • 我尝试在IB中做任何我能做的事情,并在必要时开始编写代码,但这是一个偏好问题

    • 我宁愿关注视图的位置并使用捕捉向导,也不愿花一段时间在代码中找出它
    • 如果在IB中执行,则可以隐藏大量锅炉板代码
  • 开始输入并查看自动完成选项,以加快记忆。但更重要的是,每次使用以前从未使用过的类时,您至少应该浏览一下文档,看看有什么建议如果问题海报真的不厌其烦地查看大量可用文档,那么本网站上一半的问题都可以轻松解决。


  • 更新

    您需要在Interface Builder中创建
    UIgestureRecognitor
    ,而不是您的代码

    在Interface Builder中,确保
    实用程序
    pain可见,并将所需类的
    UIgestureRecognitor
    拖放到视图中

    这就是
    UIgestureRecognitor
    类的外观:

    然后在
    实用程序
    面板中配置对象。如果您希望能够在代码中访问此对象,则需要一个
    IBOutlet

    在类头文件中为此添加新的ivar

    @property (nonatomic, retain) IBOutlet UITapGestureRecognizer *tapGestureRecognizer;
    
    在实现文件中,合成此

    @synthesize tapGestureRecognizer = _tapGestureRecognizer;
    
    然后回到Interface builder中,通过按住ctrl键和ctrl键,单击并将文件的所有者拖动到UIgestureRecognitor子类,将其连接起来。然后从出现的窗口中选择ivar:


    @paul.s也许我应该更清楚地回答我的问题-如果我想在IB中看到GR,我不确定我需要添加到原始发布代码中的所有代码块…仅供参考-我确实阅读/浏览了文档,但我对Objective-C和Xcode还不熟悉,老实说,我发现文档中缺少。我来自VisualStudio背景,他们的文档更加清晰,并且嵌入了示例代码块。另外,C需要更多的努力来声明和使用对象和变量,因此需要一些时间来适应。通常我可以找到更清晰的教程。此外,StackOverflow社区的帮助是不可估量的。这些文档的目的并不是教人们熟悉语言广告框架。一旦您理解了该语言并接触了足够多的类,您就不想阅读大量的颠簸来了解方法的功能(因此类文档通常相当简洁)。更有用的可能是苹果公司也拥有的
    应用程序编程指南。这些将稍微接近于教程风格,带有一些示例代码。而且我甚至没有建议您不阅读手册,我只是简单地回答了您的问题“h”