iOS:使用IB创建按钮,以编程方式创建按钮

时间:2015-04-25 10:55:34

标签: ios objective-c storyboard

我是一名网络和Android开发人员,现在我正在学习iOS开发,我注意到如果你想构建任何视图(比如一个按钮),你必须使用Interface Builder来创建它,或者你可以通过编程实现它:

UIButton *but= [UIButton buttonWithType:UIButtonTypeRoundedRect];
    [but addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
    [but setFrame:CGRectMake(52, 252, 215, 40)];
    [but setTitle:@"Login" forState:UIControlStateNormal];
    [but setExclusiveTouch:YES];
    [self.view addSubview:but]; 

但如果你这样做,那么按钮就不会出现在Storyboard

在android中有XML个文件,您可以使用drag and drop或xml编程(我更喜欢)构建您的布局,如果您想查看布局。

但在iOS我找不到查看Storyboard代码的方法。

我认为我的问题是:是否可以看到Storyboard代码?在iOS中设计视图的最佳方法是什么?

注意我研究了很多,但我是iOS世界的新手,所以我发现了很多我还不认识或理解的东西。

3 个答案:

答案 0 :(得分:1)

This blog post有一个有趣的讨论,讨论如何决定是使用Storyboard还是XIB来创建视图,或者以编程方式创建视图。就个人而言,我更喜欢使用XIB来设置主要布局,因为我可以轻松地拖放视图并添加约束,并且我对视图控制器有了更直观的概述。然后我总是可以选择以编程方式进行进一步的更改。

但话说回来,我认为这是个人偏好,所以没有正确的方式。

答案 1 :(得分:1)

Snapshot

右键单击Main.storyboard,然后将其作为源代码打开。

答案 2 :(得分:1)

你是对的,用代码制作的UI东西(不幸的是)反映在界面构建器中。

是否使用界面构建器,手动执行所有UI"#34;或者组合是个人喜好的问题。

我个人更喜欢在代码中使用UI,除非我是原型。这为我提供了更细粒度的处理,并且我能够将我的UI逻辑包含在一个地方。