我对Xcode等还很新,所以当它在Xcode中创建/使用对象时,我有点模糊。
例如,我使用了一个教程在代码中创建GestureRecognizer - 它非常简单。
现在我只有我的.h:
@interface PlayPage : UIViewController <UIGestureRecognizerDelegate>
这是我的.m:
UITapGestureRecognizer *tapTwo=[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(doubleTap)];
[tapTwo setDelegate:self];
[tapTwo setNumberOfTapsRequired:2];
[tapTwo setNumberOfTouchesRequired:1];
[self.view addGestureRecognizer:tapTwo]; //adds it to view
以下是我的问题:
1)如果我还想在IB中看到GestureRecognizer以及上面的代码(也许我可以更改一些设置,因为我不熟悉所有内容)我该如何实现?
2)您如何决定何时使用所有代码而不是混合代码/ IB?这完全是风格/舒适/熟悉的问题吗?
3)似乎宣称不同的对象需要不同的设置&#39;代码(例如UITextLabel vs GestureRecognizer vs UITextField) - 你怎么知道何时使用哪些代码?
感谢您帮助澄清这一点。
答案 0 :(得分:1)
在Xcode 4.x界面构建器中,有UIGestureRecognizer
个对象可以拖动到视图中。因此,您需要在“界面”构建器中添加UIGestureRecognizer
(如果您需要在代码中进行更多配置,那么也可以将它们与插座连接)。
我尝试在IB中做任何我可以做的事情,并在必要时删除代码,但这是一个偏好问题。
开始输入并查看自动填充选项以慢慢记忆。但更重要的是,每次你使用一个你以前没用过的类时,你至少应该浏览文档以查看建议的内容。 如果问题海报真的不屑于查看可用的大量文档,可以轻松解决本网站上的一半问题。
更新
您需要在Interface Builder中创建UIGestureRecognizer
而不是您的代码。
在Interface Builder中,确保Utilities
疼痛可见,并将所需类别的UIGestureRecognizer
拖放到您的视图中
这就是UIGestureRecognizer
类的样子:
然后在Utilities
面板中配置对象。如果您希望能够在代码中访问此对象,则需要IBOutlet
。
在您的类头文件中为此
添加一个新的ivar@property (nonatomic, retain) IBOutlet UITapGestureRecognizer *tapGestureRecognizer;
在实现文件中合成此
@synthesize tapGestureRecognizer = _tapGestureRecognizer;
然后返回“接口”构建器,将ctrl
+ click
+ dragging
从File's Owner
连接到UIGestureRecognizer
子类。然后从出现的窗口中选择您的ivar: