xamarin - UITableView row swipe action not working with XamarinSidebar -


i'm using xamarin.ios xamarinsidebar, have problem mvxtableviewsource in editactionsforrow event, if don't use presentation using xamarinsidebar, example presenting in modal, detects event perfectly, , shows me content, if show xamarinsidebar doesn't detect horizontal swipe.

customviewcontroller:

[mvxsidebarpresentation(mvxpanelenum.center, mvxpanelhinttype.resetroot, true, mvxsplitviewbehaviour.detail)] public partial class customviewcontroller : mvxviewcontroller<customviewmodel> {     public customviewcontroller() : base("customviewcontroller", null)     {      }     public override void viewdidload()     {         base.viewdidload();          var set = this.createbindingset<customviewcontroller, customviewmodel>();          var source = new tableviewsource(tableview);         set.bind(source).for(s => s.itemssource).to(vm => vm.customlist);         tableview.source = source;           set.apply();      } } 

and tableviewsource:

public class tableviewsource : mvxtableviewsource {     public list<customitems> tableitems { { return itemssource list<customitems>; } }       string cellidentifier = "customcell";      public chatcontacttableviewsource(uitableview tableview) : base(tableview)     {      }      public override nint rowsinsection(uitableview tableview, nint section)     {         return tableitems.count;      }      public override void rowselected(uitableview tableview, nsindexpath indexpath)     {         contact item = tableitems[indexpath.row];         console.writeline("item selected: " + item.contactname);     }      public override uitableviewrowaction[] editactionsforrow(uitableview tableview, nsindexpath indexpath)     {         list<uitableviewrowaction> items = new list<uitableviewrowaction>();          //button         var button = uitableviewrowaction.create(uitableviewrowactionstyle.normal, "delete",             delegate             {                 console.writeline("deletebutton");             });           button.backgroundcolor = uicolor.red;         items.add(button);          //i have more 1 button here          return items.toarray();     }      public override bool caneditrow(uitableview tableview, nsindexpath indexpath)     {         return true;     }      public override void commiteditingstyle(uitableview tableview, uitableviewcelleditingstyle editingstyle, nsindexpath indexpath)     {         console.writeline("editing style");         if (editingstyle == uitableviewcelleditingstyle.delete)         {             tableitems.removeat(indexpath.row);         }     }      protected override uitableviewcell getorcreatecellfor(uitableview tableview, nsindexpath indexpath, object item)     {         var cell = tableview.dequeuereusablecell(cellidentifier) customcell;         customitems itemcustom = tableitems[indexpath.row];          //---- if there no cells reuse, create new 1         if (cell == null)         {             cell = customcell.create();         }         cell.labeltext.text = itemcustom.name;         return cell;     } } 

solved implementing:

public class basemenuviewcontroller<tviewmodel> : basemenuview<tviewmodel>, imvxsidebarmenu tviewmodel : class, imvxviewmodel {     public virtual uiimage menubuttonimage => uiimage.frombundle("threelines");      public virtual bool animatemenu => true;     public virtual float darkoverlayalpha => 0.7f;     public virtual bool hasdarkoverlay => true;     public virtual bool hasshadowing => false;     public virtual bool disablepangesture => true; //here solution     public virtual bool reopenonrotate => true;      private int maxmenuwidth = 304;     private int minspacerightofthemenu = 55;      public int menuwidth => userinterfaceidiomisphone ?     int.parse(uiscreen.mainscreen.bounds.width.tostring()) - minspacerightofthemenu : maxmenuwidth;      private bool userinterfaceidiomisphone     {         { return uidevice.currentdevice.userinterfaceidiom == uiuserinterfaceidiom.phone; }     }      public virtual void menuwillopen()     {     }      public virtual void menudidopen()     {     }      public virtual void menuwillclose()     {     }      public virtual void menudidclose()     {     } } 


Comments

Popular posts from this blog

python - Operations inside variables -

Generic Map Parameter java -

arrays - What causes a java.lang.ArrayIndexOutOfBoundsException and how do I prevent it? -