Ios 如何将UIView子视图放置到位

Ios 如何将UIView子视图放置到位,ios,swift,uiview,Ios,Swift,Uiview,例如,假设我有一个要显示的UIView view.addSubview(line) 现在我希望能够在右上角显示UIView。比如说在导航栏的右侧。我该怎么做?甚至在特定位置。为子视图添加框架,如下所示: 目标-C: line.frame = CGRectMake(0, 0, 50, 50); CGRect(x:0,y:0,width: 50,height: 50) Swift 3: line.frame = CGRectMake(0, 0, 50, 50); CGRect(x:0,y:

例如,假设我有一个要显示的UIView

view.addSubview(line)

现在我希望能够在右上角显示UIView。比如说在导航栏的右侧。我该怎么做?甚至在特定位置。

为子视图添加框架,如下所示:

目标-C:

line.frame = CGRectMake(0, 0, 50, 50);
CGRect(x:0,y:0,width: 50,height: 50) 
Swift 3:

line.frame = CGRectMake(0, 0, 50, 50);
CGRect(x:0,y:0,width: 50,height: 50) 
这将在左上角添加线条子视图,高度为50,宽度为50。

您可以使用

self.navigationController?.navigationItem.rightBarButtonItem=UIBarButtonItem(自定义视图:lineMat)

在导航栏右侧设置视图

您还可以在
ui应用程序.shared.keyWindow上添加
lineMat
视图


只需使用
UIApplication.shared.keyWindow?.addSubview(lineMat)
并设置为
lineMat
视图的框架。

您需要计算框架或为该视图提供约束

let screenSize = UIScreen.main.bounds
let screenWidth = screenSize.width
let screenHeight = screenSize.height
从上面你可以得到屏幕宽度,你可以设置你的y为0。假设您的视图的宽度和高度为20。所以,框架如下所示

yourView.frame = CGRect(x:screenwidth - 20 , y: 20, width:20 , height: 20)
您可以根据需要更改框架

对于导航栏,有一种更好的方法可以通过添加右栏项来实现。请看下面的代码如何做

self.navigationItem.rightBarButtonItem = rightButtonItem

你能向用户界面展示你所体验的输出类型吗?Wift 3:CGRect(x:0,y:0,width:50,height:50)非常感谢!谢谢@nil。添加swift部分以回答:)您是否在导航栏右侧看到此
@Anbu.Karthik噢,我错过了