I have an image that is using Auto-Layout constraints. The image is a blackboard. I want to fix a view to fill the blackboard, so I can put some labels in there, as if it had some written things in the blackboard. I tried to use constraints in this view, but never fills the blackboard. How can I do this?. I uploaded an image to be more specific. Thanks!
P.S.: I colored the View.
Related
I am creating a launch screen for my app, I have a picture in an Imageview that I want as a backdrop for a Label containing the title of the app.
Screenshot of the image in the background with Label in front of it
I was able to shift the Label to the front of the launchscreen.storyboard, so that it is on top of the Imageview, by changing their position in the viewcontroller index.like so
When I load the sim for the app, the image doesn't appear, so it ends up looking like this:
screenshot of launchscreen.storyboard
I haven't the foggiest ideas as to how to resolve this issue.
(Sidenote, I'm aware that nothing on the launchscreen.storyboard is aligned properly; I've removed all the constraints and I've been moving the moving things around in an effort to figure things out)
Is there something I need to drop into the Viewcontroller to make this happen?
I'm kind of at a loss..
Set the constraints to the image view to 0 for top-left-bottom-right. For the label, set the constraints to the top, center it to the page, and then set the size you want it to be. Sometimes when you change auto layout a lot within Xcode it gets buggy. You may want to delete all constraints and start fresh.
I have been working in storyboard and something strange has happened. When I select an image, instead of the image actually highlighting an area above it is highlighted. This is true of all the elements in the View Controller. They are off vertically.
It's possible that in adding and subtracting elements I did something to the top layout but I can't tell what. All the elements are within a scrollview that, in turn, is within a view and the dimensions for both are set to 0,0,320,1000. I am not using auto layout.
The app still builds and runs normally but this makes it difficult to work on this screen in storyboard.
Here is a screenshot of the image and selection showing above it:
Anyone seen this or can suggest what could be causing it?
Here is my status I created stack-view with two sub views --> vertical and horizontal stack-view
the horizontal view contains 3 button
check image below
my issue when I set background to button its stretched as appear in image
my tries to fix this issue ,
1- set view mode to aspect-fit
2- increase spacing between button
3- set fixed width and height to one of buttons as all obey
but unfortunately all my tries doesn't work , any one could guide me to fix my issue thanks
Have you try to use SetImage Instead of BackgroundImagethat will fix the issue else use the proper image with proper size that you want to implement based on your requrement. see the following difference between setImage and SetBackgroundImage
Here you need to change your image size with your stack view's button image that will be fix your issue and for using stack view following is a good link: https://www.raywenderlich.com/114552/uistackview-tutorial-introducing-stack-views
So I'm pretty new to AutoLayout, but more often than not I'm able to hack my views into shape or model off samples on the web.
However, I've created this rather complex view that just doesn't resize no matter what constraints I try.
Here are a few screenshots of what's going on.
The first shot is my Interface Builder layout. It's got a 4-corners kind of thing going on, with a UIImageView in each corner. In the center is a blurred VisualEffectView; it lays on top of the images. The layout was constructed with the parent view at 200x200
The second shot is a successful rendering at 200x200. As you can see, the 4 images load fine (yeah, I know they're a bit stretched, I just haven't handled their scaling code yet). Programmatically, I set the cornerRadius properties of both the parent view and the blurred view to 1/2 their width, so as to make them circular. Also programmatically, I added a label as a subview to the blurred view.
Then it all goes downhill. The third shot is my attempting to render the view at 250x250. The parent view renders well and maintains a circular shape, but just about everything else is wrong.
The most frustrating part is the UIImageViews, which all go haywire and extend their bounds even though I've set them to be equal widths.
The blurred view at least stays centered, but something isn't called which prevents its bounds.width property to be updated, which is what the cornerRadius is based off of.
The label doesn't stay center in the blurred view, despite setting its autoesizingMask to flexible all around.
Here is a snippet of my initialization code, which might be useful.
Any help that you all could provide would be greatly appreciated (even if it just fixes one of the several issues).
P.S. I apologize for the cats pics.
Edit: I achieved the desired result by writing the code manually and ditching Interface Builder and AutoLayout entirely.
I'm trying to use Auto Layout for a custom Table View Cell in my app.
I can't seem to get the constraints quite right.
I layed the labels out in the custom Table View Cell, but the labels are still getting cut off. Any ideas?
Thanks! Will post anything else needed. Tried to show needed info in picture below:
Debugging in Xcode. Somehow what shows in Simulator looks different than in Xcode debug.
Here's the width of my TableView shown:
UPDATE:
The problem here was related to what user matt said in the accepted answer, but I wanted to make the Q&A a bit clearer now that I have it figured out for anyone else that comes across this.
In his initial comment, he mentioned the Xcode View debugging, which was great and I was able to dig into a little bit more. Its called the Assistant Editor: Device Preview, where you are able to see the layout and layers of what is onscreen to see if maybe you have labels overlapping or going offscreen based on the device it is running on. If you want to check multiple device sized, just hit the plus icon in the lower left hand corner of this picture.
This helped me find overlapping layers and sizing issues with the TableView. I was able to see how it looked on each device size.
What also helps here sometimes to use the Pin menu. Sometimes the labels can run off screen because it doesn't know where the constraints of the cell are based on the device size. So your label can run offscreen if the label is based off of a landscape layout but the device is an iPhone 5 and is in Portrait for example. This is the Pin menu:
Hope that makes sense and gives some more color to the problem. Let me know if you have any questions at all, thanks for the help everyone!
The problem is that you are using auto layout but you have not done anything about sizing the table view. The table view here is not your view controller's view; it is a subview. Your view controller's view is automatically sized to the size of the device / window, but its subviews are not automatically resized. So you are ending up with the table view much too wide for the device; the whole table is sticking off into space on the right side.
Use a trailing space from the right side of your labels to the edge of their superview, and set it to greater than instead of equals with a value of ~ 5
Review the constraints of your tableview with the View. Draw cell border, label border and tableview border with different colors to know which elements do not display correctly.
Ex:
#import <QuartzCore/QuartzCore.h>
...
cell.layer.border.width = 1;
cell.layer.border.color = [UIColor blackColor].CGColor;
The thing that worked for me to solve views being clipped was to uncheck "Constrain to margins" in Auto Layout.