Ios 如何将UIView子视图放置到位
例如,假设我有一个要显示的UIViewIos 如何将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:
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噢,我错过了