Swiftui get view frame


Swiftui get view frame. Jun 13, 2022 · iOS 16 add a new Grid view to SwiftUI. 85, idealHeight: geometry. someModifierOrTheLike(color: toggleColor ? . Jul 19, 2019 · What this means is that if you apply the frame modifier to the button and not the Text inside it, the button will actually remain the same size as the Text and the view returned by . After researching this for a while I found . Circle(). And that is the reason, you don't get the actual size from Jan 28, 2022 · Currently, I have a Navigation Link within a sheet. bottomLeading, so that we can programmatically set its . size. Get Parent Size SwiftUI. Here is an example of a multiline text view. topLeft, . A button style doesn't expand with its frame. Aug 26, 2019 · Fixes the center of the view at the specified point in its parent’s coordinate space. Aug 2, 2020 · It is possible to read views frames dynamically during refresh using view preferences, so you don't care about orientation, because have actual frames every time view is redrawn. The purpose might be different - close the window, resign first responder, replace root view or Nov 10, 2019 · 親Viewがより広いスペースを提供しても、この高さを上回る事はありません。 逆に親Viewがこれより少ないスペースを指定した場合は、親の指定した範囲までとなります。 alignment(省略可) フレーム内での元Viewの配置をAlignmentで指定します。 使用例 Apr 29, 2020 · I want to find the position of a word in a sentence so that I can set a frame for that word. Not only does it have the ability to display custom images drawn from the asset catalog, accommodating rich image data in various formats, like PNG, JPEG, and PDF, but it also enables the representation of SFSymbols. Feb 21, 2024 · SwiftUI gives us two ways of positioning views: absolute positions using position(), and relative positions using offset(). but you can use UIViewRepresentable for that and wrap view with it. VStack { Text("Hello World!") Text("Size: (\(geo. New in iOS 17. Jun 17, 2019 · Below you see the image and the black square i want to stretch to the red borders. 85, minHeight: geometry. UIViewControllerRepresentable protocol is a SwiftUI view that represents a UIKit view controller. cornerRadius = exampleButton. In detail: Aug 2, 2019 · Your GeometryReader is not reading size of your image, but all the space which is available/which it claims. Viewed 491 times 2 Is there a way Jun 17, 2019 · The frame does not matter at UIView creation time (ie. Aug 22, 2019 · This is the child view. This is because the frame modifier creates a new frame around the button (as dictated by the pink border), which happens after the button style is applied. Apr 1, 2021 · If you're talking about using no frame modifier altogether (or providing a clean way to do different frames), a ViewModifier might be a good option:. I have tried the following import SwiftUI struct ContentView : View { var body: some View { HStack(s Every item on the screen in a SwiftUI application has a frame. There is a button that appends 1 to array teamsSelected. frame is the one that will expand to fill the width of the view that contains it, so you will not be able to tap/click the button outside the bounds of the Text view. Create a new SwiftUI view that conforms to UIViewRepresentable protocol. x -= self. I'm trying to create a SwiftUI view where an image should expand the entire screen (edgesIgnoringSafeArea(. frame( maxWidth: geometry. topLeading if you want it to align to the top-left. That is, unless you do - which in that case, you declare it. Create a playlist detail view. so in your example, each "scene" or "instance' that you wish needs to be set to 480x300, and the best place IMHO is Sep 29, 2022 · In this article, I will show you how to use UIView as a SwiftUI View. See full list on sarunw. large) . You display these in a viewfinder so you can see exactly what the camera is looking at before composing your shot and taking a photo. Jun 21, 2024 · SwiftUI’s onGeometryChange() modifier lets us track when a view's frame, size, or safe area insets change, then take any action as a result. Use foregroundStyle(_:) instead. Note that the code snippets below all result in the same display, but do not guarantee the effective frame of the VStack nor the number of View elements that might appear while debugging the view hierarchy. background() of GeometryReader to it. Prioritize what features to build next based on user interest and votes. If a minimum constraint is specified and the size proposed for the frame by the parent is less than the size of this view, the proposed size, clamped to that minimum. The method updateUIViewController is responsible to make changes to view controller based on changes of the SwiftUI view. accentColor Jun 7, 2019 · According to your needs, you can use one of the following examples to align your VStack with top leading constraints and a full size frame. 8) } Typically I use the GeometryReader as a "Root" view and scale everything off of it, however you can place it inside of another view or even as an overlay to get the parent view size. The example below combines several modifiers to create a new modifier that you can use to create blue caption text surrounded by a rounded rectangle: Jul 15, 2019 · This will also work for multi-line text to fit the height of its parent. Jun 30, 2019 · import SwiftUI struct ContentView : View { var body: some View { GeometryReader { reader in ScrollView { Text("This is some very long text can we can see scrolls past two lines ") . If you find this in your codebase after colleagues asked for help why their ScrollView heavily lags: Use this with caution. infinity), but the button style doesn't follow the frame (pink border). width/2. Jun 16, 2023 · This should wrap the view in a hosting controller, adjust the size of the hosting controller’s view to be the intrinsic content size of the SwiftUI view, clear any background color to keep the rendered image clean, then render the view into an image and send it back. frame(width: geometry. At first glance, an introduction of a Grid view while we already have a LazyVGrid and LazyHGrid seem like a duplicate in function. width * 0. This is a very simple コンテナのスペースをViewで埋めている場合と余裕がある場合のframe(alignment:)の動きの違い; コンテナのguideとViewのguideが異なる場合に何も変化しないこと. For example. frame. The following code applies a corner radius of 25 to a text view: Feb 21, 2024 · When we use the frame(in:) method of a GeometryProxy, SwiftUI will calculate the view’s current position in the coordinate space we ask for. Positions this view within an invisible frame. inline option, like this: By default, a view’s bounding frame only affects its layout, so any content that extends beyond the edges of the frame remains visible. To fix this, you can wrap your view in a VStack with a different alignment applied, e. red : . To display the details of a particular playlist, we’ll create a new view called PlaylistDetailView. The coordinates of the frame rectangle are always specified in points. Adopt the View Modifier protocol when you want to create a reusable modifier that you can apply to any view. However, I had to NOT encapsulate them in @Published var, instead kept them as just "var", otherwise you get into an infinite loop of updating the coordinates and then re-rendering the view. SPONSOR Collect user feedback from your iOS and macOS app. Aug 8, 2019 · Using View extensions we can dramatically improve code readability and reusability. GeometryReader is the type that gives you all information about the parent view. mainWindowSize) var mainWindowSize Nov 24, 2021 · For most applications, you should rely on the . Button(action: { // Sep 17, 2022 · Below I have three Text views, the location of View 3 will be dynamic every time the app loads, and what I would like to be able to do is animate View 2 to the exact position of View 3 regardless of When you need to make fine adjustments, use layout view modifiers. Nov 7, 2021 · Recently, I had to figure out how SwiftUI determines that it should redraw views in order to fix some performance issues. How can I access the size of a View from another View? To get the height of the "Hello world!" text, I attached a . Use corner Radius(_: antialiased:) to hide any content that extends beyond these edges while applying a corner radius. It's easy to get the bounds of the screen ( UIScreen. This view will take a Playlist object as input and display Mar 23, 2021 · The surrounding ZStack needs to have a frame that will take up the whole view -- otherwise it'll just be the height of the rectangle. Jul 1, 2019 · How do I stretch a View to its parent frame with SwiftUI? 3. So you can use GeometryReader like:. Mar 9, 2023 · It works if I manually adjust the frame to an arbitrary size, but I can't seem to get it to automatically adjust the frame for it's content like it would in a normal SwiftUI view. With a width of 100 points but no constraint on the height, a text view might wrap a long string: Jul 5, 2023 · The code is quite straightforward if you are familiar with implementing a scroll view in SwiftUI. You can also use an Image view as a button label to display a custom icon or image. This creates a new page inside that sheet instead of taking up the full screen. frame(width: 50 Jun 25, 2019 · iOS 13+ You can use it like a normal modifier:. height' since the font point size probably shouldn't ever need to be larger than the parent's height if that's what you're trying to fit. 6 ) Sep 5, 2022 · We try to expand a button to the full width with . zIndex would be helpful when you did not cover the screen, here is a way: Apr 12, 2021 · GeometryReader { geometry in RoundedRect(cornerRadius: 5). background(Color. In SwiftUI, the GeometryReader inside ScrollView mimics the mathematics of the Content View from UIScrollView. Because the image renders at full size, and the blue frame is smaller than the original image, the image displays beyond the area bounded by the frame. SwiftUI’s containerRelativeFrame() is a simple but powerful way to make views have a size relative to their container, which might be their whole window, the scroll view they are inside, or even just one column in your layout. As your row views get more sophisticated, refactor the views into separate view structures, passing in the data that the row needs to render. Introduce model for view preference key: Nov 22, 2019 · SwiftUI Standard way. 4 Xcode Simulator) Note that foregroundColor(_:) modifier has been deprecated. You may be able to represent your data with a single view such as an Image or Text view, or you may need to define a custom view to compose several views into something more complex. all) which seems like a pretty straightforward way to do it. Jun 16, 2023 · Updated for Xcode 16. width) } } } } #if DEBUG struct ContentView_Previews : PreviewProvider { static var previews: some View { ContentView Apr 16, 2022 · You're right that the issue is caused by your view being center-aligned. cornerRadius(recording ? 5 : 30) } } struct CustomFrameModifier : ViewModifier Jan 13, 2020 · Adjusting the frame of a SwiftUI view with a DragGesture resizes it in all dimensions. Dec 11, 2022 · Also, if you want to get the frame data inside a list, you can use a dictionary [Int:CGRect] to store each view based on its id. Basically, just check if SceneDelegate's topmost view controller is the same as the SwiftUI View's hosting controller. height' The initial font size can also be set to 'g. On top of that, on cell tap, I SwiftUI fully controls the layout of the AppKit view using the view’s frame and bounds properties. frame(width: reader. . struct MyViewRepresentable: UIViewRepresentable { func makeUIView(context: Context) -> UIView { return MyView(frame: . By default Feb 19, 2020 · exampleButton. This solution worked the best for my use case. height * 0. height))") } } } } Use this method to specify a fixed size for a view’s width, height, or both. overlay() on top of the HStack. frame(width:) is also set using a @State value. Jun 2, 2021 · In the case of a shape like a Rectangle or Circle, the ideal size is undefined, and the view tries to fill the available space. (Note t Jul 12, 2021 · I am trying to get familiar with LazyVGrid, layout and frames/coordinate spaces in SwiftUI and draw a grid that has 4 columns, each being 1/4 the width of the screen. SwiftUI views come become very complex, very quickly. 6. Feb 23, 2020 · The goal is to have easy access to hosting window at any level of SwiftUI view hierarchy. Like so for example: Is it currently possible to do this in SwiftUI To explicitly position elements within a view, use the position(x: y:) view modifier. Here is a draft of approach. font (. To fix this, you need to apply two modifiers to the Image: resizable(cap Insets: resizing Mode:) tells the image view to adjust the image representation to match the size of the view. I have already attempted: using . Jan 24, 2022 · By default, a Text view in SwiftUI will take the least amount of space just to fit its content. struct TeamRow: View { var trade: Trade var body: some View { Button(action: { self. Text BG. Assigns a name to the view’s coordinate space, so other code can operate on dimensions like points and sizes relative to the named space. height/2 How does one achieve the same result with a SwiftUI view? Because the views are defined more on the fly, I'm not sure how it would be possible to reference that frame size unless it's being set manually (which isn't the desire here). automatic option for your initial view, which you can get just by ignoring the modifier entirely:. Nov 29, 2019 · I also experienced this issue but managed to fix it by specifying idealHeight instead maxHeight and also adding a minHeight. origin. If you add this code to a SwiftUI project, you should be able to preview it and see something similar to the figure below. However, as the view moves those values will change, and SwiftUI will automatically make sure GeometryReader stays updated. You could ensure that Geometry Reader is returning the expected 500x400 in the frame and geometry size, by adding it to the background or overlay layer. edgesIgnoringSafeArea(. fill(Color. The workaround is to get the actual rendered size via . border Jun 16, 2023 · By default SwiftUI’s views take up only as much space as they need, but if you want that to change you can use a frame() modifier to tell SwiftUI what kind of size range you want to have. bottomRight]) You need to implement a simple extension on View like this:. It's also the one that needs the . background ( GeometryReader { proxy in Color. In iOS you now want SceneDelegate for most everything, since for iPads you finally have multi-threading. Oct 8, 2020 · I would like to have one view in the vertical center of the screen, one view at the top of the screen and one view vertically centered between these two views like so: This took me 5min to do on a Exploring the structure of a SwiftUI app ; Specifying the view hierarchy of an app using a scene ; View layout. Changing the frame rectangle automatically redisplays the view without calling its draw(_:) method. com Feb 21, 2024 · SwiftUI’s GeometryReader allows us to use its size and coordinates to determine a child view’s layout, and it’s the key to creating some of the most remarkable effects in SwiftUI. May 28, 2020 · I want to determine the height of the content inside my (vertical) ScrollView. You don't know the size of the Content View in advance until you add some contents. intrinsicContentSize. If a maximum constraint is specified and the size proposed for the frame by the parent is greater than the size of this view, the proposed size, clamped to that maximum. ScrollView { //My Content } Is this possible? I've tried a few things but nothing seems to work. This consists of lowering the opacity of the entire Aug 15, 2020 · Actual Rendered Size. struct ContentView: View { var body: some View { Text ( "Ethan Hunt" ) . Apr 22, 2020 · I'm struggling to find a way in SwiftUI to get the x,y coordinates of the origin of a TextField (or any view). The size information inside the new geometry proxy can then be stored in a temporary @State variable defined in the View. com")!) webView. leading, _) using a @State value. I will show you all of them, so you can pick the one that suits your style and iOS version. Using UIView as SwiftUI View . 8, height: geometry. Hot Network Questions What's the origin of the colloquial "peachy", "simply If the view accepts the proposal but the text doesn’t fit into the available space, the view uses a combination of wrapping, tightening, scaling, and truncation to make it fit. padding(. – Sajjad Sarkoobi Commented Dec 11, 2022 at 6:28 If MyView has correct internal layout (which depends only on own bounds), then there is not needs in external additional limitation, ie. zIndex would be helpful when you did not cover the screen, here is a way: The underline view is is a 2 point high Rectangle, put in an . sheet() modifier for example so this might be why you're getting the default 0 value (in this case you have to pass it again to the contained View with . Jun 24, 2019 · As the title already says I'm trying to make a view fullscreen (make it extend over the SafeArea), but SwiftUI seems to always align views to the safeArea. For now, I'm just printing the hei Apr 21, 2020 · SwiftUI: How to calculate a view's size based on it's frame's size without using a Geometry Reader? 2 SwiftUI: How can I get the frame of a view in a dynamic List or LazyVStack Mar 9, 2021 · You do not need work on zIndex, because you cover the all screen! Even you do not need work on disable your current View for using PopUp, because again PopUp is already on top layer. The underline view is aligned to . You can also add padding around a view, and indicate how the view interacts with system-defined safe areas. foregroundColor(. Modified 2 years, 4 months ago. imageScale(. Your camera’s video output sends a continuous stream of individual images (video frames). size) " ) } } ) } } We are using the background modifier to fill it with the color red. var body: some View { GeometryReader { geo in. background modifier with an nested GeometryReader. Mar 9, 2021 · You do not need work on zIndex, because you cover the all screen! Even you do not need work on disable your current View for using PopUp, because again PopUp is already on top layer. As UIActivityViewController does not allow to change activityItems and applicationActivities, I used a wrapper view controller. lineLimit(nil) . But, unlike its lazy counterpart, a Grid view focus on constructing a simple layout which isn't possible or hard to do with VStack and HStack. If the transform property is not the identity transform, the value of this property is undefined and therefore should be ignored. x. largeTitle). environment(\. 0 I don't t To export the "as rendered" view coordinates, I created a set of arrays for the x,y coordinates, and saved them in the Model object. main. We utilize a ForEach loop to present 50 color items, which are then embedded within a vertical scroll view. So, what does this method do? It positions the view within an invisible frame with the specified width and height constraints. Preview the output from the camera. Is there a way to dismiss the sheet and then present the view on Oct 18, 2019 · I cannot figure out how to change the width of buttons in SwiftUI. The frame modifier allows you to provide the ideal size for the views that don’t have content. Dec 19, 2023 · So basically I need to create a view that represents a Guided Tour of my app so users are familiar with the features and elements my app offers. Nov 28, 2019 · Because there is a Content View in a Scroll View if you recall UIScrollView from UIKit. I'd guess that you nowadays need to consider the entire screen a "canvas" for a single instance of your app. Mar 9, 2020 · If you're using UIKit and SceneDelegate along with SwiftUI, you can solve this with a combination of UIHostingViewController and a "visibleViewController" property like the one below. extension View { func cornerRadius(_ radius: CGFloat, corners: UIRectCorner) -> some View { clipShape( RoundedCorner(radius: radius, corners: corners) ) } } Mar 6, 2020 · Can someone explain the behavior of this ScrollView test code -- why I can't scroll to the left and top edges, and why I can scroll beyond the right and bottom edges? And how to fix this. As you can see from the declaration, UIViewControllerRepresentable conforms to the View protocol, which makes it usable as a view in the SwiftUI world. blue)". red) // This is just to see how it looks like } } Jul 9, 2019 · Is there any way of finding the parent view size using SwiftUI, I have had a look through the documentation and examples and it seems most (if not all) are hard coding sizes, ideally I want to find the size of the parent and then set the sub view size based on a percentage of the parents size (probably in some swift helper class or something) e. var body: some View { GeometryReader { geometry in Text("My text view here") . Jun 26, 2020 · A word of warning. sizeToFit and printing the frame, and it looks right while it's in the wrapper: func makeUIView( May 4, 2023 · The label for a button is a SwiftUI View that represents the button’s appearance. If you only specify one of the dimensions, the resulting view assumes this view’s sizing behavior in the other dimension. import UIKit import SwiftUI struct HelloWorld: View { var body: some View { VStack { Image(systemName: "globe") . Before we can use UIView in the SwiftUI world, we need to transform it in a way that SwiftUI can understand. Using SwiftUI's relativeWidth only works inside frame view. like this: struct ContentView : UIViewRepresentable { func makeUIView(context: Context) -> WKWebView { let webView = WKWebView() let request = URLRequest(url: URL(string: "https://www. red. Warning. Additionally, this modifier will also report the initial value of whatever you're watching, so it's helpful for both one-off and continuous monitoring. Oct 3, 2022 · There are many ways to create a rounded corners view in SwiftUI. It has an instance trade from the Trade class. "). bounds ), but I can't find a way to access the size of the safe area. top alignment: Jun 4, 2019 · Background Color (tested on iOS 17. For example, the following code lays out an ellipse in a fixed 200 by 100 frame. Feb 2, 2020 · Look into GeometryReader. A position modifier overrides where the parent view places its content. leadingなどを指定した場合と数値を指定した場合の違い; マイナスやViewの幅以上の値を設定した場合の動き Sep 12, 2022 · Let's see how we can use this view controller in a SwiftUI app. Jul 8, 2021 · SwiftUI: Get view's frame on tap? Ask Question Asked 2 years, 4 months ago. You can specify a corner radius on a view with cornerRadius modifier. To get started with a basic layout, see Layout fundamentals. Oct 15, 2020 · Hi @Asperi, The modifier doesn't work in the following scenario: In the parent view, add the modifier to the child view and consider using a dynamic color based on a State Boolean variable (ex: "@State var toggleColor = false"), so the call to the modifier looks like this: ". I set the border to pink to demonstrate the actual frame of the text view. Apr 22, 2021 · SwiftUI’s built-in frame modifier can both be used to assign a static width or height to a given view, or to apply “constraints-like” bounds within which the view can grow or shrink depending on its contents and surroundings. frame() modifier. frame(maxWidth: . child. modifier(CustomFrameModifier(active: recording)) . width), \(geo. frame(minWidth: 0, maxWidth: . The below code works great, however the geometry reading is causing me issues upstream, so I would like to have the same logic to build the view's width based on available space but without using Oct 19, 2023 · Here’s how you can get the size of any view in SwiftUI using the GeometryReader. zero) } func updateUIView(_ uiView: UIView, context: Context) {} } Jun 14, 2019 · To me, the intent of SwiftUI is to not care about the size of anything. Jun 6, 2019 · iOS 13+ you can use the native UITextView right in the SwiftUI code with this struct:. So your example would be something like: FormView() . Two things are important here: The view is moved based on its centre, not based on its top-left corner; The view is moved in the parent's coordinate space; But who is the Text's parent? A view modifier in SwiftUI is something that applies to a View and Jun 13, 2019 · Is there any way to get the size of a child view in SwiftUI? I'm basically looking to do the UIKit equivalent of: self. append(1) }) { Text("Button") } } } This is the parent view. Don’t directly set these layout-related properties on the view managed by an NSView Representable instance from your own code because that conflicts with SwiftUI and results in undefined behavior. apple. We need to do two things to make an UIView works inside SwiftUI. Oct 2, 2019 · Now SwiftUI will produce some “unspecified and reasonable” results, but will still log a message (“Contradictory frame constraints specified“), to let you know you did something wrong. Just remove the line limit and change the last frame to 'height: g. draw. To dilate a BG color on Text view, use maxWidth and maxHeight parameters of . It allows you to get the size of the current view: struct ContentView: View { . in makeUIView), because constructed view will be resized according to final layout in container view and resulting frame will be passed in UIView. navigationTitle("Navigation") For all views that get pushed on to the navigation stack, you will normally use the . teamsSelected. onAppear { print ( "🔥 \(proxy. UIViewControllerRepresentable . width - 16) . Use the container Relative Frame(_: alignment:) modifier to specify a size for a view’s width, height, or both that is dependent on the size of the nearest container. Jun 10, 2019 · SwiftUI calls makeUIViewController only once to create the view controller. Aug 21, 2019 · What I'm trying to achieve. Yeah, a paradigm shift. I'm using . struct ContentView: View {var body: some View {Text ("Hello, SwiftUI!\nLorem ipsum dolor sit amet. You can adjust or constrain the size, position, and alignment of a view. 59. mainWindowSize, main), having @Environment(\. trade. One issue was that for some reason SwiftUI decided that it needed access the bodies of a lot of views that never changed which led to some dropped frames while scrolling. . all)), and then overlay a view on top of that, that also fills the entire screen, but respects the safe area. In this video, we will discuss how to customize and update the frames to adjust how we want ob Feb 28, 2023 · 5. In UIKit, I believe I would use myTextField. They might seem similar, but once you understand how SwiftUI places views inside frames the underlying differences between position() and offset() become clearer. Maintaining the adaptable sizes of built-in views ; Scaling views to complement text ; Layering content ; Choosing the right way to hide a view ; Organizing and aligning content with stacks ; Adjusting the space between views ; State May 22, 2024 · The functionality and adaptability of the Image View in SwiftUI are particularly remarkable. cornerRadius(20, corners: [. When the user taps on the button, it becomes transparent. For example, you could create a button with a 200x200 tappable area like this: Jul 19, 2019 · I want to manually set the frame height of a view in SwiftUI to the size of the safe area of the screen. struct TextView: UIViewRepresentable { typealias UIViewType = UITextView var configuration = { (view: UIViewType) in } func makeUIView(context: UIViewRepresentableContext<Self>) -> UIViewType { UIViewType() } func updateUIView(_ uiView: UIViewType, context: UIViewRepresentableContext<Self>) { configuration Overview. I can certainly provide a position or offset to move the view but I can't seem to find a way to get a reference to the TextField to get its coordinates. cornerRadius modifier; clipShape modifier; background modifier; Rounded Corners view using cornerRadius . Oct 19, 2023 · The Solution. You can use a simple String or a more complex Label view, where the Label view can display both text and an icon. 1. infinity), using Spacer() around the button and navigationlink, using frame on the Text field and padding on the button, look through the documentation, as well as a few other things I found while just searching online. A column of a NavigationSplitView Jul 16, 2019 · well, currently no direct methods are available for that. The underline view's . SwiftUI uses ideal size only in conjunction with the fixedSize modifier. g. red) . Different things can represent a “container” including: The window presenting a view on iPadOS or macOS, or the screen of a device on iOS. Aug 30, 2019 · @Rillieux Have you wrapped the proper root View with GeometryReader?Also SwiftUI sometimes does not pass Environment variables when you're within a . The modifier renders the view at a location offset from the origin of the parent view, unlike an offset modifier that shifts the view from the location chosen by the parent view. load(request) return webView } func updateUIView(_ uiView Jul 2, 2019 · Second thing - don't use AppDelegate to define things like this. struct ContentView: View { @State private var recording = false var body: some View { Rectangle() . Jan 3, 2020 · I'm trying to wrap a custom subclass of UILabel in UIViewRepresentable to use it in SwiftUI. jztq vocywp szwwoy xlpem hqbbgq vus vfge gty cksw spads

© 2018 CompuNET International Inc.