在没有IB或Xcode的情况下创建第二个uiview

时间:2014-02-04 10:09:41

标签: ios iphone objective-c

有人会非常友好地指出本教程指导错误的地方吗?

打开您制作的-SECOND-项目并更改名称:

RootViewController.h
RootViewController.mm

要:

SecondView.h
SecondView.mm

现在,打开SecondView.h并更改以下代码:

@interface RootViewController: UIViewController {

}
@end

要:

@interface SecondView: UIViewController {

}

@end

保存并关闭SecondView.h并打开SecondView.mm。在SecondView.mm中,让我们更改以下代码:

#import "RootViewController.h"

要:

#import "SecondView.h"

并更改以下代码:

@implementation RootViewController

要:

@implementation SecondView

第2部分:设置视图控制器

保存并关闭SecondView.mm。在iFile中,剪切SecondView.h和SecondView.mm并将它们粘贴到testview项目文件夹中。打开你的Makefile,然后就行了:

testview_FILES = main.m testviewApplication.mm

将该行编辑为:

testview_FILES = main.m testviewApplication.mm SecondView.mm

这会将SecondView.mm编译成目标文件(SecondView.o)并将其添加到最终的testview二进制文件(testview.app> testview)。你猜怎么着?这就是你为项目设置新课程的方法!继续第3部分!

第3部分:在应用内设置(使用)

所以你有一个新的UIViewController和UIView随时可以使用吗?那么现在我们将调用我们的视图控制器来呈现我们的惊人观点!随着闪亮的代码:

 //Bring SecondView to memory (RAM)
    SecondView *second= [[[SecondView alloc] init] autorelease];
    //Properties for second (SecondView)
    second.title = @"UINavigationBar";
    //Present second (SecondView) to user
    [self presentModalViewController:second animated:YES];

现在您可以预先提供另一个视图,您想要问自己的一个问题是您是否希望用户能够返回RootViewController。如果没有,那么就跳过这一步。使用UIButtons或UIBarButtonItems的action属性到UIAlertViews或UIActionSheets,您可以在需要时调用它。
问题是我的构建引发了一个错误:“SecondView未在此范围内声明”,“第二个未在此处声明”。本教程的每个其他部分都完美地工作,所以我假设在代码上方的第3步中有一个拼写错误。我刚刚开始开发应用程序,没有Xcode的奢侈品或没有Xcode的许多教程。一切都写在了这封信之后。感谢。

1 个答案:

答案 0 :(得分:0)

在RootViewController.mm文件中

#import "RootViewController.h"
#import <UIKit/UIKit.h>
#import "SecondView.h"
@implementation RootViewController

  - (void)loadView {
    self.view = [[[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]] autorelease];
    self.view.backgroundColor = [UIColor redColor];


    UIButton *myButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    myButton.frame = CGRectMake(21, 80, 100, 35);
   [myButton setTitle:@"My Button" forState:UIControlStateNormal];
   [myButton addTarget:self action:@selector(myButtonPressed) forControlEvents:UIControlEventTouchUpInside];
   [self.view addSubview:myButton];

}

  - (void)myButtonPressed {
    SecondView *second= [[[SecondView alloc] init] autorelease];
    second.title = @"UINavigationBar";
    [self presentModalViewController:second animated:YES];

}
@end