I'm adding a simple UITextView on top of a GMSMapView.
If you look at the text box, you can see that it's on top of the map.
Additionally, the UITextView is directly linked to the text view on the UI - has circle icon (o).
With this setup, I would expect the app to show something on the screen, but it's not apparently visible at all - see second image.
Resulting map without visible UITextView:
My constraints:
What am I missing here?
add the UITextView to mainView not the google map view, change the order should fix it
-- UIVIew
-- UItextView
-- Map View
Related
I am currently using UITextView. When I use scrollRangeToVisible it works but it brings the range to the bottom of the screen. How can I bring this range to the top of the screen. TLDR: UITextview method scrollRangeToVisible brings the characters of interest to bottom of view. I want it to come to top of view. How can I do this? Thank you
One approach is to:
find the bounding box of the range you want at the top
if it's below the current top line, add the height of the text view
then call .scrollRectToVisible()
You also need some error and bounds checking. I put together an extension you can try out if you wish: https://gist.github.com/DonMag/19daac863553c51725a56f0bc3296076
I am creating a screen of an application that contains inside a custom cell one pageControll. It is already working properly but by default his marker comes down the contentView. How can I make the marker in the position I say? In case a little but within the above contentView
this is my screen:
I can think of two possible solutions.
Instead of adding the pageControl to the the cell's content view, add it instead as a child of the red view you have there.
In interface build add a constraint between the bottom of the content view and the pageControl.
Either should achieve the result you're looking for, if I understand you correctly.
Our UIView contains a MapBox map. At certain moments during our apps lifespan we display a UIView on top of the Map.
This view had a transparant background and a couple of controls inside it. What we want is to be able to drag the map on the spots where the view is transparent. (It should basically pass through the gestures to the view below it..which is the map).
To get a basic picture of what we try to accomplish: think of a map and above it is a view which shows a big + sign. What we want is when we drag the actual sign...nothing happens. But when you drag in the empty corners, it should drag the map.
Any ideas how to accomplish that?
Check out -[UIView userInteractionEnabled] and set it to NO for the transparent view. Be sure to set it to YES for the control subviews. That should do the trick.
I'm trying to place a button over a mapview. In storyboard I have it as the last control in the view hierarchy, the map view still covers it up. I've tried adding this line in my viewDidLoad method to bring my button view to the front but it doesnt seem to work either
[self.view bringSubviewToFront:self.flagButton];
anyone have any idea why this wouldnt be working? the map view covers most of the screen, and I want to place a few buttons on top of the map, but so far can't get them to show up, they are under it every time.
I was able to do this by making my view as subview of map view.
first,
self.view = self.gmsMapView;
then,
[self.gmsMapView addSubview:_myBtnView];
I know this is an old post, but I'm answering for the sake of someone facing the same problem.
I was having the same issue, then I found a solution, and is as follows:
First, open your project and go to your StoryBoard then click on "Show Document Outline" switch that is on bottom left very small switch. After that select your "Scene" that you are having problems with then click "View". Find your MKMapView object and drag it up until you reach the first row. This will make your MKMapView object (or any other) "the first in a layer" so to speak.
I hope someone will find this helpful.
E
I was using storyboards and was not seeing the button. I had to set the MKMapView to hidden until the button was displayed and in position. Then I set the MKMapView to visible.
Here are the steps I had to take in the interface builder to get my button to show
Create a UIViewController which contains a view
Add an MKMapView and set constraints
Add UIButton in the same view as the MKMapView, set the image and text, whatever is applicable. If MKMapView disappear when you try to resize or move the button, the map view has just set its width and height to zero. Enter new values in the Size Inspector for the map view and it will resize back. Or you can move the button elsewhere off the MKMapView and then move the button back to where you want it.
The important part is to set constraints for the UIButton. I also had to set the MKMapView hidden until I got the size and placement right and then set it back to visible.
Here's how it looks in the simulator
You can't add a subview to an MKMapView via the storyboard. Add it as a sibling view instead.
Edit: Your map view should also be a subview of the root view (i.e. self.view) for this to work.
I was having similar issues and I did the following:
Made sure both the map view and the button are at the same level in the view hierarchy, I accomplished this by creating a View that both the map view and button were children of.
Made sure the button is dragged below the map view in the left gutter of the storyboard (so it is actually rendered on top).
Made sure there were valid constraints for the button.
The only thing new that hasn't already been mentioned was double-checking the constraints, and that appeared to resolve it for me. Hope that helps.
I use a UIScrollView that has horizontal sliding enabled.
The Heading of the scroll view is Instructions for Using this App
And below that, I have instructions, one instruction per "page".
When the user scrolls horizontally, new instructions show. However, during this horizontal scrolling, the "Instructions for Using this App" from the second page also appears to move.
Instructions for Using this App <--- I do not want this to appear to slide
1. Instruction number 1. XYZ...
more text more text more text
more text more text more text <--- I want only this to slide
How to achieve this?
You can place separate UIView (probably UILabel in your case) on top of your UIScrollView, so your UI hierarchy will be something like:
UIView (screen)
UILabel (header)
UIScrollView (scrolled content)