【问题标题】:UIView - similar method to ViewDidLoad?UIView - 类似于 ViewDidLoad 的方法?
【发布时间】:2013-12-13 18:14:10
【问题描述】:

我正在创建一个仅使用 Storyboard 的应用程序(没有单独的 xib-s)。 这是我的故事板外观的屏幕截图:

三个视图控制器中的每一个(一个带有“infinite”和“Levels”标签,一个带有两个开关,一个带有一些标签)都正确分配给 .h 和 .m 文件。

这是我的问题 - 如何调用 ViewDidLoadViewWillAppearViewDidAppear 之类的东西? 我试着打电话 -(void)willMoveToSuperview:(UIView *)newSuperview,但它不像viewDidLoad那样工作。

如何解决?


而且,在 OptionsController.m 中,我不能调用任何 viewDid... 或 viewWill... 函数


在界面上,我继承了 UIView。我将其更改为 UIViewController,现在我拥有所有这些方法,但是现在当我单击应显示“OptionsController”的按钮时,出现错误:[OptionsController _setViewDelegate:]: unrecognized selector sent to instance 0x8ab94e0'" – Artur Bartczak 1 小时前 删除

【问题讨论】:

    标签: ios iphone objective-c xcode storyboard


    【解决方案1】:

    对于情节提要中的每个视图控制器,您必须将 .h 和 .m 文件添加到您的项目中。该文件的名称是您在故事板的检查器中为视图控制器输入的类名。所以如果你有一个 UITableViewController 类型的 MainViewController 你必须通过“新文件”将文件添加到你的项目中。然后在此文件中调用 viewDidLoad 和其他文件。

    对于您的故事板:选择第一个条目“ViewController”。在检查器(右侧面板)中,在自定义类下输入一个唯一的类名,例如 OptionsViewController。然后选择项目面板(左侧面板),选择左侧图标进行文件浏览。右键单击并选择“新文件”。在对话框中选择 ios->cocoa touch->objective c class 然后下一步。现在在自定义类下输入与故事板中完全相同的名称。对于子类选择父类,如果你在你的故事板中拖动一个 UIViewController,你必须在这里输入相同的内容。 接下来选择要保存的目录并点击创建。

    现在,如果您单击新创建的 .m 文件,您会看到现在可以修改的方法 viewDidLoad。

    【讨论】:

    • 我只有DrawRect函数,没有viewDidLoad :(
    • 那你做错了什么。打开您的 OptionsViewController.h 并查看是否找到以下代码:@interface OptionsViewController : UIViewController ...
    • 你应该阅读一个很好的基础教程,试试这个,它会回答你的很多问题 -> raywenderlich.com/50308/storyboards-tutorial-in-ios-7-part-1
    • 在界面上,我继承了UIView。我将其更改为 UIViewController,现在我拥有所有这些方法,但是现在当我单击应显示“OptionsController”的按钮时,出现错误:[OptionsController _setViewDelegate:]: unrecognized selector sent to instance 0x8ab94e0'"跨度>
    • 那将是另一个问题。如果这解决了您的第一个问题,请接受这个作为答案:-) ...并请阅读教程...
    猜你喜欢
    • 1970-01-01
    • 2012-04-27
    • 1970-01-01
    • 1970-01-01
    • 2012-05-11
    • 2019-10-15
    • 1970-01-01
    • 2012-02-03
    • 1970-01-01
    相关资源
    最近更新 更多