ViewController通过交换屏幕转到上一个ViewController

时间:2017-04-18 16:22:31

标签: ios segue viewcontroller navigationview

假设我有两个viewController,StringRequest stringRequest = new StringRequest(Request.Method.POST, URL_POST, new Response.Listener<String>() { @Override public void onResponse(String response) { try { JSONObject msgjson = new JSONObject(response); Log.d("aaaaa", String.valueOf(msgjson)); Log.d("aaa", "aaa"); } catch (JSONException e) { e.printStackTrace(); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.d("aaa", "aaa"); Toast.makeText(MainActivity.this, "error", Toast.LENGTH_SHORT).show(); } }) { @Override protected Map<String, String> getParams() throws AuthFailureError { Map<String, String> params = new HashMap<String, String>(); String id = "524901"; String units = "metric"; String appid = "67aa03cd6bedc6f6fb6f9f506968f3d6"; params.put("id", id); params.put("units", units); params.put("appid", appid); return params; } }; RequestQueue requestQueue = Volley.newRequestQueue(this); requestQueue.add(stringRequest); AViewControllerBViewController嵌入了AViewController(来自菜单&#34;编辑器&gt;嵌入式&gt; NavigationController&#34;)。通过NavigationController中的按钮操作,它会将用户推送到AViewController(使用segue)。现在,用户可以在BViewController中按AViewController返回backButton

但奇怪的是,在BViewController中,如果我从左向右交换屏幕,似乎从堆栈中删除视图并显示BViewController。我不想要这个交换。我想只使用后退按钮去往前一个viewController,在这种情况下是AViewController。我怎么能停止这个交换?

提前致谢。

PS:我没有在整个项目中添加任何类型的手势

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

AViewController中添加ViewDidLoad下面的行以禁用导航控制器的交互式弹出窗口。那么一切都应该像你想要的那样。

self.navigationController.interactivePopGestureRecognizer.enabled = NO;