如何与多个目标c类共享一个xib文件

时间:2012-02-16 11:53:05

标签: objective-c xcode4 ios4 uiviewcontroller

我是ios开发的新手,所以我不知道这个问题是否正确。 我想在基于视图的应用程序模板中从单独的uiview类创建一个uibutton。 如果有人知道,请清楚我的问题。

2 个答案:

答案 0 :(得分:0)

这很容易做到。此代码段应该有帮助;

    NSArray* nibRollViews = [[NSBundle mainBundle] loadNibNamed:@"TiltData" owner:self options:nil];
    myRollDataView = [nibRollViews lastObject]; // TODO, look it up by name, don't assume last

    [myRollDataView setFrame:CGRectMake(rollDataViewFPO.frame.origin.x, 
                                    rollDataViewFPO.frame.origin.y, 
                                    myRollDataView.frame.size.width, 
                                    myRollDataView.frame.size.height)];
    [self.view addSubview:myRollDataView];
    [myRollDataView initWithType:RollType];

有几点需要注意。我的xib中有一个rollDataViewFPO(FPO表示"仅限位置")。我使用FPO框架来定位刚加载的对象。这样我可以将它定位为我的xib,而不是我的代码。

另请注意,我调用自己的initWithType方法。我的TiltData对象可以用来显示Roll或Pitch数据,我需要告诉他们它们是什么类型。

答案 1 :(得分:0)

添加一个newFile ObjectiveC类使其成为UIView的SubClass(假设名称在这里:SubView)。

如果您不想使用UIViewController类的视图,那么只需在xib中选择视图

UiViewController的

并在检查器窗口中将类名更改为SubView。输出UIButton

在该视图中并执行您想要的任何操作。如果您需要单独视图,则只需拖动

即可

从菜单栏中删除UIView并将其作为插座连接到ViewController类和

将UIView类的名称更改为SubView。