2

好的,所以我下载了一个开源项目,我正在考虑对其进行定制以供个人使用(除非它变成一个伟大的项目,在这种情况下谁知道),但无论哪种情况,我都遇到了一些困难。

从一开始,我发现使用编程方法创建 UI 元素相当困难,只是找不到好的教程(如果有人有任何建议,将不胜感激!)

所以我得出的结论是,也许我最好的方法是获取我希望修改的视图,在 Interface Builder 中重新创建它,然后将其添加到以前的视图中,这里的问题是我似乎无法弄清楚如何做到这一点。如果有人想查看我可以提供的代码,但它基于 RemotePad 开源项目(很容易用谷歌搜索),我正在考虑替换 TapView 元素——实际上我需要做的就是在三个鼠标下添加第四个按钮按钮,但它只是失去了我。

我想我真正要问的是添加第四个按钮的最佳方式是什么?理想情况下,按钮应该是“可换肤”的,即应该是可以应用高亮模式的图像形式。

4

1 回答 1

4

这实际上应该很容易做到。

  1. 首先,您需要使用新按钮的 IBOutlet 设置现有视图控制器(与要添加按钮的视图关联的视图控制器)。所以你添加如下内容:
    @property(非原子,保留)IBOutlet UIButton *myFourthButton;
    
  2. 接下来,使用 Interface Builder 创建 nib 文件。从一个空的 IB 文件开始,然后将您的按钮添加到其中。您还需要将 File's Owner 设置为视图控制器类的实例。然后将文件所有者的 myFourthButton 插座连接到您的新按钮。保存 IB 文件。

  3. 现在你需要一些方法来在创建视图控制器时加载这个 NIB 文件。我建议在视图控制器的 viewDidLoad: 方法中通过调用:

    [[NSBundle mainBundle] loadNibNamed:@"yourNibFile" owner:self options:nil];
    
  4. NIB 文件中的按钮现在应该连接到您的 myFourthButton 插座,现在您只需将其添加到视图并定位它。下面我将它添加到视图控制器的主视图中。但是,您可能应该将其添加到子视图中(取决于原始视图的设置方式)。同样,我会将这段代码放在 viewDidLoad: 中,在所有现有代码之后以编程方式设置视图(或者如果该代码在其他地方,则使用另一种方法)。

    [self.view addSubview:myFourthButton];  
    
    CGRect frame = myFourthButton.frame;
    帧.origin.x = 100;
    frame.origin.y = 100;
    myFourthButton.frame = 框架;
    

    当您需要您的按钮实际响应点击事件时,您可以使用 IBAction 和 Interface Builder 将其连接到您的视图控制器,就像您所期望的那样。

于 2010-07-21T19:35:42.773 回答