簡體   English   中英

UIViewController中的自定義子視圖未出現

[英]Custom subview in UIViewController not appearing

我創建了UIView的Objective-C類“ customTable.h”子類。

然后,我在XIB中創建了一個自定義視圖。 我去了身份檢查器,在自定義類下選擇了我創建的類的名稱(customTable)作為文件的所有者。 在xib的customTable視圖中,我添加了幾個UILabel和一個子視圖。 對於子視圖,我選擇了它並進入自定義類,然后選擇了另一個自定義類“ menuTable”。

在customTable.h文件中,我已將XIB中的menuTable鏈接為IBOutlet,因為我希望能夠在視圖的初始化中對插座進行一些配置。

在customTable.m文件中,我有:

- (id)init
{
    if(self = [super init])
    {
        [self initialize];
    }
    return self;
}

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code
         [self initialize];
    }
    return self;
}

- (id)initWithCoder:(NSCoder *)aDecoder
{
    if(self = [super initWithCoder:aDecoder])
    {
        [self initialize];
    }
    return self;
}
- (void)initialize
{
    /*some special configuration code for menuTable
    is here */
}

在情節提要中,我向ViewController的視圖添加了一個子視圖,然后告訴情節提要,我希望該子視圖使用自定義類“ customTable”。 在viewcontroller的.h文件中,我將此視圖鏈接為IBOutlet。

@property (weak, nonatomic) IBOutlet customTable *cView;

當我在模擬器中運行它時,子視圖不會顯示在viewcontroller中。 我在customTable.m文件中添加了一些斷點,並調用了initialize方法。 那么為什么它不出現呢?

我的建議是在您的情節提要中,將“容器視圖”拖放到主視圖頂部。 這將創建一個容器,該容器具有連接到故事板上的新視圖控制器的連接。 然后,選擇新的視圖控制器,然后在身份檢查器中將自定義視圖設置為CustomTable。 順便說一句,因為類CustomTable是大寫的,所以要大寫。

我想我知道了。 發生這種情況的原因是,我在創建類時應該選擇“使用XIB作為用戶界面”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM