iphone - 子类化 UITableView 所以它不需要 xib
<p><p>我制作了一个只包含 IB 中的 UITableView 的 XIB。引起我注意的是,可以继承 UITableViewController 并完全取消 xib。</p>
<p>我的问题是,你是怎么做到的?</p>
<p>到目前为止,我唯一改变的是我的 .h 是...</p>
<pre><code> @interface MyView : UITableViewController
</code></pre>
<p>并删除了我的 XIB。显然我得到一个错误,指出 </p>
<pre><code>*** Terminating app due to uncaught exception 'NSInternalInconsistencyException',
reason: 'Could not load NIB in bundle: 'NSBundle(loaded)' with <path>
name 'MyView''
</code></pre>
<p>所以我的问题是,为了正确完成这个子类化,还剩下什么?</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>有两种方法可以在 iOS 中设置 ViewController 。 </p>
<ul>
<li>使用 .xib 文件:您使用 <code>-initWithNibName:bundle:</code> 实例化 ViewController ,将 .xib 文件的名称作为第一个参数传递,并且(除非您正在执行一些高级操作stuff) <code>nil</code> 作为第二个参数。操作系统将查找您的 .xib 文件并将其反序列化为一堆对象并将它们附加到您的 ViewController 。然后操作系统调用您的 ViewController 子类的 <code>-viewDidLoad:</code> 方法,您在此完成设置。 </li>
<li>以编程方式:您使用 <code>-init</code> 实例化 ViewController ,或者对于 TableViewController ,<code>initWithStyle:</code>。操作系统然后调用您的子类的 <code>-loadView</code> 方法,您可以在其中手动实例化 View 层次结构。 </li>
</ul>
<p>听起来你只需要用 <code>-initWithStyle:</code> 而不是 <code>-initWithNibName:bundle:</code> 来实例化它。 </p></p>
<p style="font-size: 20px;">关于iphone - 子类化 UITableView 所以它不需要 xib,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/14613998/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/14613998/
</a>
</p>
页:
[1]