From 5d54ae69f4de082029594e8cf6974cb4ed537f21 Mon Sep 17 00:00:00 2001 From: Tsvetan Raikov Date: Tue, 7 Jun 2016 15:50:46 +0300 Subject: [PATCH] Fixed a crash in action bar on iOS 9.3 --- .../ui/action-bar/action-bar.ios.ts | 30 +++++++------------ 1 file changed, 11 insertions(+), 19 deletions(-) diff --git a/tns-core-modules/ui/action-bar/action-bar.ios.ts b/tns-core-modules/ui/action-bar/action-bar.ios.ts index a5636562c..a355cf62c 100644 --- a/tns-core-modules/ui/action-bar/action-bar.ios.ts +++ b/tns-core-modules/ui/action-bar/action-bar.ios.ts @@ -112,31 +112,23 @@ export class ActionBar extends common.ActionBar { } private populateMenuItems(navigationItem: UINavigationItem) { - var items = this.actionItems.getVisibleItems(); - var leftBarItems = []; - var rightBarItems = []; - - for (var i = 0; i < items.length; i++) { - var barButtonItem = this.createBarButtonItem(items[i]); + let items = this.actionItems.getVisibleItems(); + let leftBarItems = []; + let rightBarItems = []; + for (let i = 0; i < items.length; i++) { + let barButtonItem = this.createBarButtonItem(items[i]); if (items[i].ios.position === enums.IOSActionItemPosition.left) { leftBarItems.push(barButtonItem); } else { - rightBarItems.push(barButtonItem); + rightBarItems.splice(0, 0, barButtonItem); } } - - var leftArray: NSMutableArray = leftBarItems.length > 0 ? NSMutableArray.new() : null; - leftBarItems.forEach((barItem, i, a) => leftArray.addObject(barItem)); - - // Right items should be added in reverse because they are added from right to left - var rightArray: NSMutableArray = rightBarItems.length > 0 ? NSMutableArray.new() : null; - rightBarItems.reverse(); - rightBarItems.forEach((barItem, i, a) => rightArray.addObject(barItem)); - - navigationItem.leftItemsSupplementBackButton = true; - navigationItem.setLeftBarButtonItemsAnimated(leftArray, true); - navigationItem.setRightBarButtonItemsAnimated(rightArray, true); + navigationItem.setLeftBarButtonItemsAnimated(leftBarItems, false); + navigationItem.setRightBarButtonItemsAnimated(rightBarItems, false); + if (leftBarItems.length > 0) { + navigationItem.leftItemsSupplementBackButton = true; + } } private createBarButtonItem(item: dts.ActionItem): UIBarButtonItem {