xmartlabs / XLForm

XLForm is the most flexible and powerful iOS library to create dynamic table-view forms. Fully compatible with Swift & Obj-C.
MIT License
5.77k stars 953 forks source link

Crash: Inline date picker row following alert presentation. Attempted to scroll the table view to an out-of-bounds row #1070

Open robmaceachern opened 4 years ago

robmaceachern commented 4 years ago

Steps:

Expected:

Actual:

Thread 1: Exception: "Attempted to scroll the table view to an out-of-bounds row (4) when there are only 4 rows in section 0. Table view: <UITableView: 0x7fc7fb838600; frame = (0 0; 320 568); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x60000316a550>; layer = <CALayer: 0x600003f60440>; contentOffset: {0, 183.33333333333334}; contentSize: {320, 923.33333587646484}; adjustedContentInset: {64, 0, 0, 0}; dataSource: <SwiftExample.DatesFormViewController: 0x7fc7f95178e0>>"

#0  0x00007fff23e3de5e in __exceptionPreprocess ()
#1  0x00007fff512539b2 in objc_exception_throw ()
#2  0x00007fff23e3dcac in +[NSException raise:format:] ()
#3  0x00007fff4951cb73 in -[UITableView _contentOffsetForScrollingToRowAtIndexPath:atScrollPosition:usingPresentationValues:] ()
#4  0x00007fff4951d6dc in -[UITableView _scrollToRowAtIndexPath:atScrollPosition:animated:usingPresentationValues:] ()
#5  0x00007fff4951d58c in -[UITableView scrollToRowAtIndexPath:atScrollPosition:animated:] ()
#6  0x000000010ef60f97 in -[XLFormViewController ensureRowIsVisible:] at /Users/rob/Downloads/XLForm-master/XLForm/XL/Controllers/XLFormViewController.m:464
#7  0x000000010ef26161 in -[XLFormDateCell becomeFirstResponder] at /Users/rob/Downloads/XLForm-master/XLForm/XL/Cell/XLFormDateCell.m:85
#8  0x00007fff49816d94 in -[UIView(Hierarchy) deferredBecomeFirstResponder] ()
#9  0x00007fff49816e38 in -[UIView(Hierarchy) _promoteSelfOrDescendantToFirstResponderIfNecessary] ()
#10 0x00007fff498172fa in __45-[UIView(Hierarchy) _postMovedFromSuperview:]_block_invoke ()
#11 0x00007fff25ac3778 in -[NSISEngine withBehaviors:performModifications:] ()
#12 0x00007fff498171b5 in -[UIView(Hierarchy) _postMovedFromSuperview:] ()
#13 0x00007fff49826730 in -[UIView(Internal) _addSubview:positioned:relativeTo:] ()
#14 0x00007fff495093d6 in -[UITableView _addSubview:positioned:relativeTo:] ()
#15 0x00007fff497b8dab in -[UIScrollView _addContentSubview:atBack:] ()
#16 0x00007fff49509124 in -[UITableView _addContentSubview:atBack:] ()
#17 0x00007fff4952c3d1 in __53-[UITableView _configureCellForDisplay:forIndexPath:]_block_invoke ()
#18 0x00007fff4981f654 in +[UIView(Animation) performWithoutAnimation:] ()
#19 0x00007fff4952bb77 in -[UITableView _configureCellForDisplay:forIndexPath:] ()
#20 0x00007fff4953decf in -[UITableView _createPreparedCellForGlobalRow:withIndexPath:willDisplay:] ()
#21 0x00007fff4950740a in -[UITableView _updateVisibleCellsNow:] ()
#22 0x00007fff4952724e in -[UITableView layoutSubviews] ()
#23 0x00007fff4982d5f4 in -[UIView(CALayerDelegate) layoutSublayersOfLayer:] ()
#24 0x00007fff2b4e9260 in -[CALayer layoutSublayers] ()
#25 0x00007fff2b4ef3eb in CA::Layer::layout_if_needed(CA::Transaction*) ()
#26 0x00007fff2b4faa8a in CA::Layer::layout_and_display_if_needed(CA::Transaction*) ()
#27 0x00007fff2b443a7c in CA::Context::commit_transaction(CA::Transaction*, double) ()
#28 0x00007fff2b477467 in CA::Transaction::commit() ()
#29 0x00007fff2b477df9 in CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*) ()
#30 0x00007fff23da1087 in __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ ()
#31 0x00007fff23d9bb3e in __CFRunLoopDoObservers ()
#32 0x00007fff23d9c08a in __CFRunLoopRun ()
#33 0x00007fff23d9b8a4 in CFRunLoopRunSpecific ()
#34 0x00007fff38c39bbe in GSEventRunModal ()
#35 0x00007fff49325968 in UIApplicationMain ()
#36 0x000000010eeff39b in main at /Users/rob/Downloads/XLForm-master/Examples/Swift/SwiftExample/AppDelegate.swift:12
#37 0x00007fff520ce1fd in start ()

Notes: