ios - 从 MM 抽屉 Controller 退出左 View Controller
<p><p>我正在使用 <code>MMDrawerController</code>。我使用 <code>LeftViewController</code> 中的 <code>TableView</code> 在自定义单元格中显示我的数据。 </p>
<p><code>LeftViewController</code> 当我单击条形按钮时从左侧滑出。 </p>
<p>单击我的 <code>TableView</code> 的自定义单元格后,我想从 <code>LeftViewController</code> 重定向到其他 <code>ViewControler</code>。 </p>
<p>在我的 <code>LeftViewController</code> 我使用下面的代码</p>
<pre><code>-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
;
}
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
NSIndexPath *path = ;
ViewController *VC = (ViewController *);
}
</code></pre>
<p>注意:<code>CenterViewController</code>是<code>ViewController</code></p>的<code>Storyboard</code> ID
<p>通过使用上面的代码,<code>ViewController</code> 出现在 <code>LeftViewController</code> 的顶部,但我想关闭 <code>LeftViewController</code> 并重定向到 <code>ViewController</code></p>
<p> <img src="/image/KSm7L.jpg" alt="My Storyboard"/> </p>
<p>我使用了下面的代码,虽然它可以工作,但是在 <code>ViewController</code></p> 上左右滑动不起作用
<pre><code>-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
ViewController *ggg = ;
UINavigationController *navcon = [ initWithRootViewController:ggg];
AppDelegate *app =[ delegate];
app.window.rootViewController = navcon;
;
}
</code></pre></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>我认为您有以下选择:</p>
<ol>
<li>在<code>CenterViewController</code>中实现<code>UITableViewDelegate</code>,并将<code>CenterViewController</code>实例赋值为<code>中<code>UITableView</code>的委托(delegate)>LeftViewController</code>.</li>
<li>为 <code>LeftViewController</code> 创建一个 <em>delegate</em>,这样您就可以将 <code>UITableViewDelegate</code> 的逻辑保留在 <code>LeftViewController</code> 中并实现<code>CenterViewController</code> 中的新委托(delegate)并将其分配为 <code>LeftViewController</code> 的委托(delegate)。</li>
<li>使用<code>NSNotificationCenter</code>在用户选择<code>LeftViewController</code>的<code>UITableView</code>中的某项并添加<code>CenterViewController</code>时发布通知> 作为通知的观察者。</li>
</ol>
<p><strong>更新 1</strong></p>
<p>您好,在代码中,我看到您正在分配一个新的 rootViewController,可能会用您自己的 ViewControler 替换 MMDrawerController 的实例,因此您松开了滑动手势。</p>
<p>也许您唯一需要的是将中心 Controller 分配给 MMDrawerController 调用 <code>setCenterViewController:</code></p>
<p>而不是</p>
<pre><code>app.window.rootViewController = navcon;
</code></pre>
<p>使用</p>
<pre><code>;
</code></pre></p>
<p style="font-size: 20px;">关于ios - 从 MM 抽屉 Controller 退出左 ViewController ,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/39183499/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/39183499/
</a>
</p>
页:
[1]