使用XIB 自定義UIView,并可AutoLayout

我們知道如何使用XIB自定義一個UIView, 但當(dāng)將其添加到AutoLayout的VC上時, 如何使這個自定義的UIView也可以跟隨父VC 使用Autolayout呢? 下面細(xì)細(xì)道來..

1,新建一個文件 “File -> New -> New File” (cmd + N), 選擇 “Cocoa Touch” 然后是 “Objective-C class”,“UIView”的子類, 輸入文件名:TestCustomView
2,新建一個 “User Interface” 然后是 “View”.命名為: TestCustomView
3,設(shè)置xib 的file's owner 為你自定義的類

set.jpg

4,然后打開TestCustomView.h添加一個IBOutlet
<pre><code>
@property (nonatomic, weak) IBOutlet UIView *view;
</code></pre>

5,將此IBOutlet 連接到TestCustomView.xib 的View

oulet.jpg

6,最后打開TestCustomView.m,添加如下代碼:
<pre><code>

  • (instancetype)initWithCoder:(NSCoder *)aDecoder
    {
    self = [super initWithCoder:aDecoder];
    if (self) {
    NSString *className = NSStringFromClass([self class]);
    self.view = [[[NSBundle mainBundle] loadNibNamed:className owner:self options:nil] firstObject];
    [self addSubview:self.view];
    return self;
    }
    return nil;
    }
    </code></pre>

在VC中使用它:

use.jpg

附個demo:
https://github.com/wangjianlewo/TestCustomViewFromXib
demo 中 右邊的按鈕總是距離屏幕的最右方10

現(xiàn)在當(dāng)VC使用了AutoLayout 之后,使用xib自定的view,也可以使用AutoLayout完美適配了.
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容