菜鸟教程小白 发表于 2022-12-12 11:01:46

带有 socket 初始化的 iOS 自定义 UITextField


                                            <p><p>我需要很少定制的 <code>UITextField</code>。
我创建了新的自定义类 CustomTextField。在 IB 中,我为每个自定义 <code>UITextField</code> 创建了 <code>outlet</code>。我运行代码但自定义不起作用。</p>

<p>为了进行检查,我在自定义 <code>UITextField</code> 中的初始化过程 <code>initWithFrame</code> 上设置了断点。没有命中断点。我想必须在每个 ViewController 中添加额外的 <code>init</code>,但我不确定具体是什么。</p>

<p>当我创建 socket 时,我想 <code>init</code> 将自动生成,但因为这是一个自定义类,它必须是 <code>init</code> 手动构造如下:</p >

<pre><code>CustomTexTField *textField = [ initWithFrame:customFrame];
;
</code></pre>

<p>那么我是否需要在每个 ViewController 中添加额外的 <code>init</code> 以及如何做到这一点?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>当从 IB 或 Storyboard 初始化 View 时,<code>initWithCoder</code> 是使用的初始化程序,而不是 <code>initWithFrame</code>,这就是没有命中断点的原因。将自定义代码放在 <code>initWithCoder</code> 方法中。例如:</p>

<pre><code>- (id)initWithCoder:(NSCoder *)aDecoder{
    self = ;
    if (self) {

      // Put customization code here...

    }
    return self;
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于带有 socket 初始化的 iOS 自定义 UITextField,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/25179229/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/25179229/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: 带有 socket 初始化的 iOS 自定义 UITextField