ios - swift 中的 UIView 初始方法总是显示错误

标签 ios iphone swift uikit init

我有一个从 UIView 派生的自定义 View ,在 init 方法中是这样的:

- (instancetype)init
{
    if ([super init])
    {
        self.frame = [UIScreen mainScreen].bounds;
or self = [[UIView alloc]init];
    }    
    return self;
}

它从不显示错误,但是当我使用 Swift 时

init() {
    self.frame = UIScreen.mainScreen().bounds
}

编译器告诉我:

Super.init isn't called on all paths before returning from initialiser

然后我添加 super.init(),编译器告诉我:

Convenience initializer is declared here (UIKit.UIView)

如何在 Swift init 方法中使用像 self = [[UIView alloc]init]; 这样的初始化方法?

最佳答案

试试这个...

init()
{
    super.init(frame: UIScreen.mainScreen().bounds)

    // Other initialization operations...
}

关于ios - swift 中的 UIView 初始方法总是显示错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38010208/

相关文章:

iphone - 是否可以访问 App Store 数据进行市场分析?

ios - Swift 2.2 #selector 用于代理/协议(protocol)编译错误

ios - 为什么 UIFont(描述符 :size:) is x200 slower than UIFont(name:size:)?

iphone - UIToolBar 和 iPhone 界面方向问题

swift - 在其下标 getter 中改变结构

ios - UIView swift 改变它的位置

ios - 按钮在我更改其坐标后不响应点击

ios - initWithNibName 与 init - 意外行为

ios - 如何从分组条形图切换到简单条形图

ios - iOS 中的 Google 日历应用 URL 方案