如何添加一个现成的项目(使用应用程序委托创建并启动,但没有xib,nib)到另一个项目

时间:2012-05-15 12:46:30

标签: xib nib

我有一个现成的项目(使用应用程序委托创建并启动但没有xib,nib)。现在我想调用并从另一个项目启动它。 但我不能使用initwithnib,如何从另一个项目中包含并启动这个即用型项目? 更具体地说,如何添加和集成Apple的示例代码“TableViewUpdates(TVAnimationsGestures.xcodeproject)”,它只有自己的appDelegate和Mainwindow.xib文件到我自己的应用程序?谢谢! 或者你可以将一个xib文件添加到Apple的示例代码“TableViewUpdates(TVAnimationsGestures.xcodeproject)”中,这样​​我就可以在我的另一个项目中使用initWithNib来调用和运行示例代码。谢谢!

1 个答案:

答案 0 :(得分:2)

我在Xcode 4.3.2上工作。

  1. 创建sigle view sigle view app。
  2. 展开MoviePlayer示例中的所有文件夹。选择所有文件,info.plist,main,Frameworks,Products文件夹,readme.txt,MoviePlayer.project除外。 复制到新的空项目。不要忘记检查“添加到目标”。
  3. 在目标的构建阶段选项卡中添加了MediaPlayer.framework(在带有库的链接二进制文件中)
  4. 将所有对象从MainWindow.xib复制到您的viewController的自己的xib。
  5. 比在ViewController.h中:

    #import <UIKit/UIKit.h>
    
    @interface ViewController : UIViewController
    @property (strong, nonatomic) IBOutlet UITabBarController *tabBarConroller;
    
    @end
    

    将您的tabBarController从ViewController.xib连接到属性。

    比在ViewController.m中:

    @implementation ViewController
    @synthesize tabBarConroller;
    
    - (void)viewDidLoad
    {
        [super viewDidLoad];
        [self.view addSubview:tabBarConroller.view];
    }
    
    - (void)viewDidUnload
    {
        [self setTabBarConroller:nil];
        [super viewDidUnload];
        // Release any retained subviews of the main view.
    }
    ...other appdelegateMethods ...
    @end
    

    7。检查viewController.xib中的所有对象是否都有必要的出口。
    6.编辑&gt;重构&gt;转换为ARC。 (接下来,好的......)

    已经完成了。