以编程方式创建视图iPhone编程

时间:2014-01-24 04:06:36

标签: iphone objective-c uiview uiviewcontroller

我正在尝试开始iOS中的UI编程,我的第一个移动应用程序我主要使用故事板,所以我希望我的UI更灵活。我已经在线跟踪了几个教程,一个接一个地逐行,我仍然无法在运行Xcode Simulator时显示我的视图和子视图。我用一个viewController创建了一个单视图应用程序。这是我的“ViewController.h”和“ViewController.m”文件中的代码。我在这里做错了什么?我的模拟器没有显示任何内容,根据我一直关注的教程应该是。

ViewController.h

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController

@property(strong, nonatomic) UILabel *label1;
@property(strong, nonatomic) UIButton *someButton;

@end

ViewController.m

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    // Create the label
    self.label1 = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 200, 25)];
    self.label1.text = @"I am a label";

    // Create the button
    self.someButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    self.someButton.frame = CGRectMake(10, 50, 100, 37);
    [self.someButton setTitle:@"Example Button" forState:UIControlStateNormal];

    // Add them to the main view
    [self.view addSubview:self.label1];
    [self.view addSubview:self.someButton];
}

@end

4 个答案:

答案 0 :(得分:1)

创建一个没有故事板的新项目并放下以下代码,它将起作用..

UILabel *testLabel;
testLabel=[[UILabel alloc]init];
testLabel.text=@"Hello World!";
testLabel.frame = CGRectMake(10, 50, 100, 37);
[self.view addSubview:testLabel];

答案 1 :(得分:0)

你的代码在我的xcode中运行良好我创建了新的基于单一视图的应用程序并删除了故事板并复制粘贴了你的代码

I am able to see the label and Button

答案 2 :(得分:0)

以编程方式创建UIView,UIButton或UILable时,没有定义任何布局约束。您必须手动添加它们。如果您确实为某个视图配置了一些layoutconstraints,可以像这样删除它们:

[view removeConstraints:view.constraints]

答案 3 :(得分:0)

确保首先显示ViewController。