繁体   English   中英

如何在地方放置 UIView 子视图

[英]How to Put UIView subview In Places

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

view.addSubview(line)

现在我希望 t 能够在右上角显示该 UIView。 假设在导航栏的右侧。 我该怎么做? 甚至在特定的地方。

为您的子视图添加一个框架,如下所示:

目标-C:

line.frame = CGRectMake(0, 0, 50, 50);

斯威夫特 3:

CGRect(x:0,y:0,width: 50,height: 50) 

这将在左上角添加您的行子视图,高度为 50,宽度为 50。

您可以使用

self.navigationController?.navigationItem.rightBarButtonItem = UIBarButtonItem(customView: lineMat)

在导航栏右侧设置视图。

您也可以在UIApplication.shared.keyWindow上添加lineMat视图

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

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

let screenSize = UIScreen.main.bounds
let screenWidth = screenSize.width
let screenHeight = screenSize.height

从上面你可以得到 screenwidth 并且你可以将你的 y 设置为 0。假设你的视图的宽度高度是 20。所以,框架将如下所示。

yourView.frame = CGRect(x:screenwidth - 20 , y: 20, width:20 , height: 20)

您可以根据需要更改框架。

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

self.navigationItem.rightBarButtonItem = rightButtonItem

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM