iphone - 从 UIViewController 访问 UIView

标签 iphone ios objective-c

我使用 Storyboard将 UIView 添加到 UIViewController(参见下图)

问题是我无法从 UIView 访问任何内容。我相信问题是因为当我初始化 UIView 使用的类时,我正在创建一个 VSettingsView 的新实例,而不是使用使用 Storyboard添加到 UIView 框架中的实例:

White Background is a view controller (VARendererViewController), Blue Background is a UIView (VASettingsView)

VARendererViewController.m

-(void)viewDidLoad{
...
    // Initalise settings subview
    self.settingsInit = [[VASettingsView alloc] init];
    self.settingsInit.delegate = self;
....
}

-(void)update{
        int test = [[self settingsInit] getTest];
        NSLog(@"%d", test);
}

返回 0,应返回“12345”

有什么建议吗?

最佳答案

您是正确的,您不需要在 -viewDidLoad 中创建新的 VASettingsViewsettingsInit 是否声明为 IBOutlet?您应该能够从 Interface Builder 中的 VASettingsView 到 View Controller 中的 socket 建立连接。

-viewDidLoad 是加载 nib 后调用的方法;此时, Nib 中连接的所有 IBOutlets 都可供您使用。无需创建和设置这些属性。

关于iphone - 从 UIViewController 访问 UIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15857640/

相关文章:

ios - iPhone:是否可以在点击 UITextField 时隐藏键盘?

iOS 11 浏览器图像错误

iphone - _CLLocationDistanceMax 导致 iOS 5.0 崩溃,但在类中未发现贬值

ios - 如何在 AFNetworking 3 中通过流式传输下载大文件

iphone - 使用 setValue :forKey: for many-to-many relationship 时核心数据应用程序崩溃

iphone - 拍摄屏幕截图

iphone - 使用 iOS 7 在 iPad 上以 2x 模式启动应用程序

ios - 如何在 swift ios 应用程序中从解析加载文件(它是图像)?

objective-c - 是否有可以进行代码语法高亮显示的 Objective-C/C 库?

iphone - 如何正确地将文件从 iPhone 发布到使用 node-formidable 的 node.js 服务器?