【发布时间】:2017-03-08 04:35:54
【问题描述】:
例如,假设我有一个要显示的 UIView
view.addSubview(line)
现在我希望能够在右上角显示该 UIView。让我们说在导航栏的右侧。我该怎么做?甚至在特定的地方。
【问题讨论】:
-
你能告诉 UI 你期望的输出类型吗
例如,假设我有一个要显示的 UIView
view.addSubview(line)
现在我希望能够在右上角显示该 UIView。让我们说在导航栏的右侧。我该怎么做?甚至在特定的地方。
【问题讨论】:
您将需要计算框架或需要为该视图提供约束。
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
【讨论】:
inside the right side of the navigation bar.
你可以使用
self.navigationController?.navigationItem.rightBarButtonItem = UIBarButtonItem(customView: lineMat)
在导航栏右侧设置视图。
您还可以在UIApplication.shared.keyWindow 上添加lineMat 视图
只需使用UIApplication.shared.keyWindow?.addSubview(lineMat) 并设置为lineMat 视图的框架。
【讨论】:
为您的子视图添加一个框架,如:
目标-C:
line.frame = CGRectMake(0, 0, 50, 50);
斯威夫特 3:
CGRect(x:0,y:0,width: 50,height: 50)
这将在左上角添加您的线子视图,高度为 50,宽度为 50。
【讨论】: