scrollView behavior inconsistent between iPhone 6 plus and iPad Mini

Has anyone had differing results between two different devices when scrolling a large text object created with display.newText? When I create a large text object and insert it into a scrollView object it works perfectly with my iPhone 6 plus (IOS 9.3.4) but gets truncated on my iPad Mini (IOS 9.2.1).  At first I thought it might be due to not enough texture memory. But when I checked the maximum texture size I got the same result for both the iPhone and the iPad. Using system.getInfo(“maxTextureSize”) gave a reading of 4096 for both devices. I then tested scrolling the text object on an android LG Phone and an android Neutab pad and there was no truncation. Apparently, the truncation is just occurring on the iPad Mini even though there is no difference in the maximum texture size of either device.

Here is a code example if anyone else would like to look at it and/or test it on an iPad Mini. If anyone has any ideas I’d love to hear from you.

Thanks,

Guy

Build Settings:

settings = { orientation = { default = "portrait", supported = { "portrait" } }, android = { usesPermissions = { "android.permission.INTERNET", "android.permission.ACCESS\_NETWORK\_STATE", "android.permission.WRITE\_EXTERNAL\_STORAGE", "android.permission.READ\_PHONE\_STATE", "android.permission.VIBRATE", }, }, iphone = { plist = { UIApplicationExitsOnSuspend = false, NSAppTransportSecurity = { NSAllowsArbitraryLoads = true } , CFBundleIconFile = "Icon.png", CFBundleIconFiles = { "Icon.png", "Icon@2x.png", "Icon-60.png", "Icon-60@2x.png", "Icon-60@3x.png", "Icon-72.png", "Icon-72@2x.png", "Icon-76.png", "Icon-76@2x.png", "Icon-Small-40.png", "Icon-Small-40@2x.png", "Icon-Small-40@3x.png", "Icon-Small-50.png", "Icon-Small-50@2x.png", "Icon-Small.png", "Icon-Small@2x.png", "Icon-Small@3x.png" }, }, }, plugins = { ["plugin.google.play.services"] = { publisherId = "com.coronalabs" }, ["CoronaProvider.native.popup.social"] = { publisherId = "com.coronalabs" }, ["CoronaProvider.analytics.flurry"] = { publisherId = "com.coronalabs", }, ["plugin.google.iap.v3"] = { publisherId = "com.coronalabs", supportedPlatforms = { android=true } }, }, }

config.lua

--calculate the aspect ratio of the device: local aspectRatio = display.pixelHeight / display.pixelWidth application = { license = { google = { key = "mykey", }, }, content = { width = 320, height = 480, scale = "zoomStretch", imageSuffix = { ["@1-5"] = 1.5, -- for Droid, Nexus One, etc. ["@2x"] = 2, -- for iPhone, iPod touch, iPad1, and iPad2 ["@3x"] = 3, -- for various mid-size Android tablets ["@4x"] = 4, -- for iPad 3 } }, }

main.lua

- Hide Status Bar display.setStatusBar(display.HiddenStatusBar) local composer = require "composer" composer.gotoScene("scene\_test")

scene_test.lua

local composer = require( "composer" ) local scene = composer.newScene() local widget = require( "widget" ) -- "scene:create()" function scene:create( event ) local sceneGroup = self.view end -- "scene:show()" function scene:show( event ) local sceneGroup = self.view local phase = event.phase if ( phase == "will" ) then elseif ( phase == "did" ) then local stringVar = "This is one of my favorite exercises. I perform this exercise commonly with the following in decreasing order of support: with 2 hands holding 2 poles, with 1 hand holding 1 pole, with 1 hand held, with 1 hand on the wall with my client facing sideways standing on top on the bench. If one hand is supported, I prefer to have the hand getting support on the stance leg side, not the kicking side. ".. "\n\nI also modify the difficulty of this activity by changing the distance the client has to dip to kick the object. I can make the bench higher or the block lower. I have some foam blocks/animals that I like to use. The client should kick over the object but not touch the floor. I also like using stacked cones/cups because I can make the distance that she has to dip down harder simply by removing 1 cone/cup from the stack. Here my client is tall, so I switched from the cones to my foam animals because I can get significantly lower with my assortment of foam animals/blocks than I can with the cones. I could also have put my client on a taller bench. However, it is not uncommon that my clients lose their balance on this activity. If I don’t have a second person to spot for safety then I would rather use lower objects to increase the dip distance than use a taller bench. ".. "\n\nIf I find the perfect support level (in the example of this picture 1 hand on a pole and a 3” high foam hippopotamus, then I can modify the difficulty by having her dip down repeatedly touching the hippo 2,3,4,5 …up to 10 times before returning to the resting position on the bench with the kicking leg. In this case I have to hold the hippo to keep it from being kicked away. Be wary, I have had my hand smushed by the client when he or she lost quadriceps control and collapsed down onto my hand. It hurts! I usually rig this game up by challenging my client…with a taunt that goes something like this… “Oh, you kicked it one time, I bet you can’t get it twice….Oh you got it twice, how about 3 times?...” and so on. ".. "\n\nEven on clients with one side that is clearly good at this activity, such as a client with hemiplegia, I will often let the client perform a few repetitions on their less/uninvolved side first to get the feel of the movement…and to document how low the client can go with the less/uninvolved side. Also remember if the client has on fixed ankle foot orthosis or an orthosis with a posterior stop limiting plantarflexion, that this dramatically limits how low the client can kick." local textOptions = { text=stringVar, x=0, y=0, width=300, height=0, font="Helvetica", fontSize=16, } local textToViewObject = display.newText(textOptions) scrollView = widget.newScrollView { left = 0, top = 0, width = display.contentWidth, height = display.contentHeight, bottomPadding = 25, horizontalScrollDisabled=true, verticalScrollDisabled=false, } sceneGroup:insert(scrollView) scrollView.anchorX=0; scrollView.x = 5 scrollView.anchorY=0; scrollView.y = 0 textToViewObject:setFillColor(0,0,0) --black textToViewObject.x, textToViewObject.y = display.contentCenterX, textToViewObject.height/2 scrollView:insert(textToViewObject) end -- end of: elseif ( phase == "did" ) end -- "scene:hide()" function scene:hide( event ) local sceneGroup = self.view local phase = event.phase if ( phase == "will" ) then elseif ( phase == "did" ) then end end -- "scene:destroy()" function scene:destroy( event ) local sceneGroup = self.view end -- ------------------------------------------------------------------------------- -- Listener setup scene:addEventListener( "create", scene ) scene:addEventListener( "show", scene ) scene:addEventListener( "hide", scene ) scene:addEventListener( "destroy", scene ) -- ------------------------------------------------------------------------------- return scene