Code Monkey home page Code Monkey logo

Comments (5)

jpaas avatar jpaas commented on May 27, 2024 3

Ha! Sometimes pasting the code helps you think about things. In my case the problem is that although I am adding the tableView of my MenuController as a subview of the leftView of my LGSideMenuController, I was using a local variable to create the MenuController which means nobody was holding on to a reference to it. So by the time I went to scroll or select, the controller had been GC'd. Changing the variable to a property on my AppDelegate fixed it.

One could argue that is a design flaw. Perhaps the LGSideMenuController should hold a reference to the controller for the left and right views?

from lgsidemenucontroller.

FreshApps avatar FreshApps commented on May 27, 2024

Hi i have to same problem. Did you find a solution for that? I currently work with Swift

from lgsidemenucontroller.

chlebta avatar chlebta commented on May 27, 2024

@FreshApps nope I'm using MMDrawerController now because I don't have much time to look to library , find the issue then fix it

from lgsidemenucontroller.

jpaas avatar jpaas commented on May 27, 2024

Same issue here. Using Swift. Scrolling or selecting a cell causes all cells to vanish.

setting up in AppDelegate:

    let rootViewController = HomeViewController(nibName: nil, bundle: nil)
    let navigationController = UINavigationController(rootViewController: rootViewController)
    let sideMenuController = LGSideMenuController(rootViewController: navigationController)
    sideMenuController.setLeftViewEnabledWithWidth(200, presentationStyle: .SlideBelow, alwaysVisibleOptions: .OnNone)
    let menuViewController = MenuViewController(style: .Plain)
    sideMenuController.leftView().addSubview(menuViewController.tableView)
    sideMenuController.leftViewBackgroundColor = UIColor.whiteColor()
    self.window!.rootViewController = sideMenuController;

MenuViewController:

import UIKit

class MenuViewController : UITableViewController {

  enum Cells:Int {
    case SetPassword
    case Signout
  }

  override init(style: UITableViewStyle) {
    super.init(style: style)
    setup()
  }

  required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
  }

  func setup() {
    tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "x")
    tableView.separatorStyle = .None
  }

  // MARK: UITableViewDataSource

  override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    log.info("Cell requested for: \(indexPath)")
    let cell = tableView.dequeueReusableCellWithIdentifier("x")!
    let row = Cells(rawValue: indexPath.row)!
    switch row {
    case .SetPassword:
      cell.textLabel?.text = "set password"
      break;
    case .Signout:
      cell.textLabel?.text = "signout"
      break;
    }
    return cell
  }

  override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return 2
  }

  override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    return 1
  }

  // MARK: UITableViewDelegate

  override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    log.info("Selected: \(indexPath)")
    let row = Cells(rawValue: indexPath.row)!
    switch row {
    case .SetPassword:
      log.info("SetPassword")
      break;
    case .Signout:
      log.info("Signout")
      break;
    }
  }
}

from lgsidemenucontroller.

Friend-LGA avatar Friend-LGA commented on May 27, 2024

Looks like you don't have strong reference to your view or something like that.
Try new version, a lot of bugs was fixed.

from lgsidemenucontroller.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.