在Swift 3中以编程方式加载自定义UIView xib

时间:2017-02-28 15:35:30

标签: swift uiview swift3 xib iboutlet

我试图将自定义UIView从Swift中的代码加载到视图控制器中,就像我在Objective-C中所做的那样,但我遇到了很多麻烦。 我尝试了一些我在这里看到的解决方案,但是我的IBOutlets没有初始化,因此我会解开崩溃。 总而言之,我找不到办法,我到目前为止使用的代码是:

 - (instancetype)initWithFrame:(CGRect)frame andTitle:(NSString *)title andInfo:(NSString *)info {

    NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"CustomAlertView" owner:nil options:nil];

    for(id currentObject in topLevelObjects)
    {
        if([currentObject isKindOfClass:[DICustomAlertView class]])
        {
            self = (DICustomAlertView *)currentObject;
            break;
        }
    }
    if (self) {
        self.frame = frame;
        self.lblTitle.text = title;
        self.lblInfo.text = info;
    }
    return self;
}

加载我刚刚调用的视图:

DICustomAlertView *cav = [[DICustomAlertView alloc] initWithFrame:frame andTitle:@"Title" andInfo:@"Info"];
[self.view addSubview:cav];

我无法找到一种方法来翻译"因为所有的"自我"管理变得与众不同,是否有人知道与此相当的解决方案?

0 个答案:

没有答案