好的,所以我已经下载了一个开源项目,我正在考虑定制供个人使用(除非它变成了一个很棒的项目,在这种情况下谁知道)但是在任何一种情况下我都遇到了一些困难。
从一个起点我发现使用progmatic方法创建UI元素相当困难,只是找不到一个好的教程(如果有人有任何建议,将非常感激!)
所以我得出结论,也许我最好的方法是采取我希望修改的视图,在Interface Builder中重新创建它,然后将其添加到上一个视图,这里的问题是我可以'似乎让我知道如何做到这一点。如果有人想看到我可以提供它的代码,但它基于RemotePad开源项目(轻松搜索),我正在寻找替换TapView元素 - 我真的需要做的就是在三个鼠标下添加第四个按钮按钮,但它只是失去了我。
我想我真正想问的是,添加第四个按钮对我来说最好的方法是什么?理想情况下,按钮应该是“可换肤的”,即应该采用可以应用高亮模式的图像形式。
答案 0 :(得分:4)
这实际上应该很容易实现。
@property (nonatomic, retain) IBOutlet UIButton *myFourthButton;
接下来,使用Interface Builder创建nib文件。从一个空的IB文件开始,然后添加按钮。您还需要将文件所有者设置为视图控制器类的实例。然后将文件所有者的myFourthButton插座连接到新按钮。保存IB文件。
现在,您需要一些方法来在创建视图控制器时加载此NIB文件。我建议通过调用:
在视图控制器的viewDidLoad:方法中执行此操作[[NSBundle mainBundle] loadNibNamed:@"yourNibFile" owner:self options:nil];
NIB文件中的按钮现在应该连接到myFourthButton插座,现在您只需要将其添加到视图并定位它。下面我将它添加到视图控制器主视图中。但是,可能会有一个子视图,您应该将其添加到其中(取决于原始视图的设置方式)。同样,我会将此代码放在viewDidLoad中:在所有现有代码之后以编程方式设置视图(或者在其他方法中,如果该代码在其他地方)。
[self.view addSubview:myFourthButton]; CGRect frame = myFourthButton.frame; frame.origin.x = 100; frame.origin.y = 100; myFourthButton.frame = frame;
当您需要按钮实际响应点击事件时,您可以使用IBAction和Interface Builder将其连接到视图控制器,就像您期望的那样。