[MUSIC] Hello everyone. This lecture, we're going to look at this object library, it's still inside the interface builder, and see what other options we have other than what we've seen before, which are buttons, and views, and image views. So, next clip provides us with a lot more than that, as you can imagine, and we're just gonna run through those outside of the context of our filter app, and see what else we can do. So again, all of these objects in the object library can be dragged into the interface builder, but in different ways. You can sort of see that. These yellow circle ones are usually controllers. And when you drag them in, it creates scenes. We'll talk about some of these in the future, but most of these are either more of a convenience controller, such as the table view controller, which gives a controller that manages the table view. That can be replaced by a normal view controller, and by putting a table view inside, and we're going to be talking about a table view controllers in the future. Some other ones are for navigation, which we will also talk about it the future. For example, tap views and navigation views, which allow you to navigate between these scenes, but currently we're going to, sorry about that, stay inside one scene. So what we are going to look at though are these ones down here, and some of these are very commo,n and we're just going to go through some of the more common ones. First up, we have a label and, as it's name suggest, it displays text. And again for all of these, most of these are sub classes of UI views. Almost all of these, and buttons are sub classes of UI view. So there's a sub class called UI control, which is a sub class of UI view, and most of the controls which have interactive components, are sub classes of UI control. So for these two examples here, as you can see in this property inspector, a label has its own properties that you can change, which makes sense for a label such as the text. Change it to hello and it will update it there. And it has colors and fonts and how to align to text. But it also has its super class, which is a view. And all of the properties that you can set on the view, you can set in a label as well. And to confirm that it's the same if we come back here and look at this container view we had, we have a view would only have these properties, and so it's the base class of everything we see here. On the other hand, a button which we just dragged in here and we were reduced before, also has it's own buttony stuff, like detext, and debutton image, background images, etc. And it has its, all the stuff it has for control. And because a control usually needs more space around its content, for example, a label you don't really need more space around the text itself. But a button you want it to be more tappable, so it has alignment to aligned content within its space, and also important stuff like its state. If it's selected, or if it's highlighted, or if it's disabled. And then again, the UI controllers suppressed the UI view. So you'll see all the same properties you can set, and the buttons, and views. The segmented control allows, it's sort of the iOS version of the radio button. So we don't, in iOS provides all these as sort of system defaults. And you see these throughout Apple's apps as well. And it's highly recommended to use these provided controls, such as segment and control, over something custom, such as a radio button. Cuz Apple thinks they're better, and in most cases they have a lot of advantages. For example, the segment control is much more space efficient, and a nicer looking version of the radio button. You can also choose, it's basically a selection between different segments, and you can change how many segments there are. And it's very convenient to show which one is selected. Which is here. So in here you can edit each segment individually. Name that, I'm gonna give it individually, and set whether or not it's selected. And that's all really cool. Next up is a text field. Text field is also a control. So the difference between a text field and a label is you can, users which are able to type into a text field. And you can pre-fill it with, say hello again, but even cooler, since it's a text field, you can give it a placeholder text, which is what you see in forms a lot, such as name. And it'll appear like this and when you start typing into it, you won't see a placeholder anymore, it's a prompt for the content and there's different styles that the text field can have, and that's all provided to you by default in the system. Next up is a slider, another UI control. We're gonna put these UI controls maybe to the right so you know that they're controls, and a slider, as you can see what you would expect. You can specify the minimum bandwidths on the left and the maximum on the right, and what the current menu is. And by doing so, you will get the callback when the slider is moved. You will get a value between this and this, depending on where the thumb is. And of course you can customize its appearance and all the UI control stuff. And also the UI stuff, very convenient. Most of these are pretty commonly found inside iOS itself, inside several system maps, and system settings, etc. And the switch is another one of these very common controls. Has an off and on state. And my vision options. Not too much to see here. An interesting one that is commonly used is that Activity indicator. Or you might know it as the spinner, loading symbol, etc. So basically the thing that loads, that you can display when loading. And so it has convenient options just to do that, such as this option here called, hides when stopped, which means that if you stop it from loading it'll just hide. When you make it start loading it will appear again. And that, they're actually just convenience for you as a developer, because you don't really show this spinner when it's not spinning. We know that's a spinner, we almost always see it spinning, and that makes sense to users as well. Skipping a few, we also have table views, which are a very interesting topic and we'll cover it later, and again image views. So these are not controls, these are just display elements. In image view we are familiar with, we can set its image, such as this building image, whatever it was. Scenery. And you can specify how it's displayed, if it's all stretched, I like what it is right now. Or content modes, which are here, and we can make it fit, or fill, or simply just draw it in the center of whatever size it originally was, just draw it in the center. All very useful options. Clicking views are more general table views that we'll also cover in the future. And here's an interesting one, which is the text view. Similar to the text field, you just are able to edit text views if you let them. And it's basically a text field that allows for much more text as you can see here. And what's interesting about the text view is it's actually a subclass of a scroll view, which we will also cover in a very soon upcoming lecture on how to display content that is bigger than the screen size. And this happens a lot say in Facebook, the feed is infinitely long and and there is no way we can display that in one screen, and so that is why the scroll allows us to do, and it is one of the most amazing things of the touchscreen, where you can scroll through the content. And iOS, the scroll view makes this all very easy, but to make it even easier for us, if you just wanna display text in this square view, you have the text view. And if you wanna create a table, which you can think of say the Facebook feed or even a Twitter feed, as a table of rows, you have the table view. And again, we're going to these, how to use these, in the future. There's also the visual effect view, which allows you to create the blur. This is very cool. And it's a very unique view, where it modifies its background, if I placed this blur view here and ran this, and the background wasn't white, say I placed it over this text view, you would see it blurred, sort of like you see in the system if you pull up the Control Center, or in the cases where the background is blurred you can achieve that effect using the Blur view. And, that's all we're gonna cover here today. We've done just the normal view. And we're gonna cover these gesture recognizers sometime soon as well, and so yeah, here this is basically then a quick run-through of all these elements. And hopefully you can come and use the [INAUDIBLE].