情景:
我有一个MainViewController,TableViewController和DetailsViewController(TableViewController)
我正在使用开源库获取滑动菜单功能,可在此处找到教程:使用ENSideMenuNavigationController滑动菜单
当我将这个教程应用到我的项目时,我可以轻松获得我想要的滑动菜单,你可以从image
当我点击Second View时,TableViewController会出现列表数据,当我选择一行时,它会开始导航到详细信息视图控制器,当我从detailsviewcontroller返回到TableViewController时,滑动菜单将不再打开。
这是我的TableViewController didSelectRowAtIndexPath代码:
func backButtonPressed (sender:UIButton!){
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("InvoicesTableViewController") as! InvoicesTableViewController
vc.navigationController?.navigationBarHidden = false
vc.navigationController?.setNavigationBarHidden(false, animated:true)
performSegueWithIdentifier("backToMyInvoices", sender: self)
}
当我导航回我的TableViewController
时,这是detailsViewController代码class SlideNavigationController: ENSideMenuNavigationController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
let storyBoard = UIStoryboard(name: "Main", bundle: nil)
let menu = storyBoard.instantiateViewControllerWithIdentifier("LeftSideViewController") as! LeftSideMenuTableView
sideMenu = ENSideMenu(sourceView: self.view, menuViewController: menu, menuPosition: ENSideMenuPosition.Left )
sideMenu?.menuWidth = 220
view.bringSubviewToFront(navigationBar)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
我的代码的最后一段代表来自ENSideMenuNavigationController的教程代码
public String getStringImage(Bitmap bmp) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] imageBytes = baos.toByteArray();
String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT);
return encodedImage;
}
@Override
protected String doInBackground(Bitmap... params) {
Bitmap bitmap = params[0];
String uploadImage = getStringImage(bitmap);
Log.i("UploadImage ----- ",uploadImage);
HashMap<String, String> data = new HashMap<>();
data.put(UPLOAD_KEY, uploadImage);
String result = rh.sendPostRequest(UPLOAD_URL, data);
Log.i("Result *****: ", result);
return result;
}
请任何帮助将不胜感激..已经有几个星期了我的堆栈
答案 0 :(得分:0)
我正在使用此滑动菜单,我可以在整个应用程序中使用它。即使在ViewController弹出后也是如此。
使用根视图控制器 - MainViewController初始化ENNavigationViewController(可以使用&#34;示例&#34;文件夹中的示例)。
当您想要呈现下一个视图控制器时:
self.navigationController?.pushViewController(...)
或使用示例中ENSlideMenuNavigation控制器上的方法:
setContentViewController(contentViewController: UIViewController)