1.改变bounds的大小,fram的大小和坐标都改变 center不变
2.transform有make事直接方法调用 没有就是嵌套了其他的形变的方法在里面
3.获取一个子视图的父视图
let superView = redView.superview
superView?.backgroundColor = UIColor.greenColor()
4.使用tag值
通过tag值拿到指定的子视图
然后在做一些具体的事情
let subView2 = self.view.viewWithTag(101)
subView2?.frame.origin.y = 100
5.这个厉害 获取一个视图的所有子视图
然后在for循环if 爽的一比
//3.获取一个视图的所有的子视图
let subViews = self.view.subviews
//拿到所有的子视图中的红色视图和黄色视图
//a.
for item in subViews {
//判断item是否是UILabel类型的。如果是就返回true,如果不是就返回false
if item.isKindOfClass(UILabel.self) {
print(item)
}
}
//b.
for item in subViews {
if item.tag == 100 {
print("红色视图")
//将红色视图的背景颜色变成橙色
item.backgroundColor = UIColor.orangeColor()
}
if item.tag == 101 {
print("黄色视图\(item)")
}
}
之前没重视这个知识点 后来发现发现非常重要 在重置某些系统的东西的时候很有帮助 比如tabBar 不用系统自动提供的 自己制作时就需要这个方法 及拿到所有的子视图 然后可以对其进行遍历 删选出其中满足我需要的子控件视图
//3.!!!获取一个视图的所有的子视图
let subViews = self.view.subviews
//拿到所有的子视图中的红色视图和黄色视图
//a.
for item in subViews {
//判断item是否是UILabel类型的。如果是就返回true,如果不是就返回false
if item.isKindOfClass(UILabel.self) {
print(item)
}
}
当然还可以用tag值定点拿到一些子视图对象 然后对子视图对象给予一些值或者方法什么的
for item in subViews {
if item.tag == 100 {
print("红色视图")
//将红色视图的背景颜色变成橙色
item.backgroundColor = UIColor.orangeColor()
}
if item.tag == 101 {
print("黄色视图\(item)")
}
}
//4.通过tag值拿到指定的子视图
let subView2 = self.view.viewWithTag(101)
subView2?.frame.origin.y = 100
}
到后期忘记了这个方法 可以在视图与视图之间的互相隐藏于遮盖 为后面的UI界面框架增加一些小的功能
//2.将指定的视图放到最上层
self.view.bringSubviewToFront(view2)
//3.将指定的视图放到最下层
self.view.sendSubviewToBack(view2)
//4.将指定的视图插入到另一个视图的上面
self.view.insertSubview(view2, aboveSubview: view3)
//5.将指定的视图插入到另外一个视图的下面
self.view.insertSubview(view2, belowSubview: view1)
这个换行的方法搞忘了 在考试的时候吃亏了 想半天
//自动换行
label.numberOfLines = 0
//8.设置换行模式
//ByWordWrapping -> 以单词为单位换行
//ByCharWrapping -> 以字符为单位换行
//...
label.lineBreakMode = .ByCharWrapping