Browser Blocks Input on Screen?

Getting into LiveCode for iOS? Ask your questions here.

Moderators: FourthWorld, heatherlaine, Klaus, kevinmiller, robinmiller

Post Reply
Brittgriscom
Posts: 95
Joined: Wed Mar 30, 2011 10:15 am

Browser Blocks Input on Screen?

Post by Brittgriscom » Wed May 25, 2011 1:40 am

I've put browsers on a couple on my cards, along with a 'mouseUp' handler on each card to go to the next card. That handler works fine on the cards without browsers, but not on the cards with browsers. Here is the code for the cards with browsers:

Code: Select all

-- We use this variable to store the id of the UIWebView native
-- control.
local sBrowserId

on preOpenCard
   if the environment is not "mobile" then
      exit preOpenCard
   end if
   
   -- Create our browser control and store the id
   iphoneControlCreate "browser"
   put the result into sBrowserId
   
   -- Native controls start off invisible
   iphoneControlSet sBrowserId, "visible", "true"
   
   -- Set up a suitable initial url
   iphoneControlSet sBrowserId, "url", "https://sites.google.com/site/gosantafenm/maps/bikeways-and-trails"
   
   -- Make sure everything is the right size
   resizeStack
end preOpenCard

on mouseUp
   go nextCard
end mouseUp

on closeCard
   if the environment is not "mobile" then
      exit closeCard
   end if
   
   -- Destroy the control, if we fail to do this native UIViews
   -- will just accumulate
   iphoneControlDeletesBrowserId
end closeCard

on resizeStack
   if the environment is not "mobile" then
      exit resizeStack
   end if
   
   -- Adjust the size of the URL entry field
   set the rect of field "URL" to the left of field "URL", the top of field "URL", the width of this card - 4, the bottom of field "URL"
   
   -- Adjust the size of the browser view
   set the rect of group "Browser" to the left of group "Browser", the top of group "Browser", the width of this card - 4, the height of this card - 100
   
   -- Adjust the status field
   set the rect of field "Status" to 4, the bottom of group "Browser" + 4, the width of this card - 4, the height of this card - 4
   
   -- Now adjust the control itself
   iphoneControlSet sBrowserId, "rect", the rect of group "Browser"
end resizeStack

--------

-- This message is received after a request has been allowed and
-- loading is starting
on browserStartedLoading pUrl
   put "Started loading:" && pUrl into field "Status"
end browserStartedLoading

-- This message is received when a page has been completely
-- loaded and is displayed to the user
on browserFinishedLoading pUrl
   put "Finished loading:" && pUrl into field "Status"
   put pUrl into field "Url"
end browserFinishedLoading

-- This message is received when a new url is requested. Passing it
-- causes the load to go ahead, otherwise it does not.
on browserLoadRequest pUrl, pReason
   answer "Do you want to load:" && pUrl with "Yes" and "No"
   if it is "Yes" then
      pass browserLoadRequest
   else
      put "Refused:" && pUrl into field "Status"
   end if
end browserLoadRequest

--------

-- This handler is invoked by our Back/Forward/Stop/Refresh buttons
-- we just pass the request onto the control.
command doAction pAction
   if the environment is not "mobile" then
      exit doAction
   end if
   
   iphoneControlDo sBrowserId, pAction
end doAction

-- This handler is invoked when the url field is closed after editing.
-- It causes a new url to be requested
command goUrl pUrl
   if the environment is not "mobile" then
      exit goUrl
   end if
   
   iphoneControlSet sBrowserId, "url", pUrl
end goUrl
As I said, the 'mouseUp' handler works just fine on the cards without browsers, but doesn't work on the cards with browsers. Any idea why?

Brittgriscom
Posts: 95
Joined: Wed Mar 30, 2011 10:15 am

Re: Browser Blocks Input on Screen?

Post by Brittgriscom » Wed May 25, 2011 2:12 am

Never mind. I found the typo that was causing the bug.

Post Reply