(6)UIView常见属性二

例如创建一个view视图,view是最纯洁的控制,必须得指定它的位置,而不像其他的控件像UISwitch默认都有一个位置

在viewDidLoad方法中打印它的位置:

将控件放入一个视图中,只需移动白色的视图,里面的子控件也会跟着移动,因为里面的控件的frame是相对子父控件左上角为坐标原点

注意:bounds和frame的相同点都是能表示宽度和高度,所以获取控件的宽度和高度有两种方法一种是通过bounds另一种是通过frame

而获取位置(x\y)值只能通过self.view.frame.origin.x/y方式来获取

center是中心点在父控件中的位置

项目中用到的图像资源都可以放在Images.xcassets中, 可以将图片直接托入,也可以将整个图片文件夹放入到里面,但访问的时候,只需直接加文件名就可以访问得到。

给按钮添加背景图片

设置它的大小,让它不偏扁

在没有设置按钮高度图片时,按下去的时候也会闪动,这是因为按钮的类型为系统类型 , 只要你的按钮类型选择为system,在按下去的时候都会变灰

当要设置高亮图片时,记得将按钮类型设置为custom再设置高亮图片时,就可以设置成想要的图片效果,如下效果:

添加和删除按钮都添加三种状态显示不同的图片, 三种状态:正常、高亮、禁用

当有两三个多个按钮共用一个方法时,得将按钮传进去,将类型改成UIButton,如下图

可通它的坐标位置来判断点击了哪个按钮, 用位置来判断这种方式不好因为需求会随时变化,所以改用另一种方式来判断通过用tag值来设置

接下来使用纯代码来创建以上的效果;

使用纯代码如何实现多个按钮共用一个方法可以如下操作:

使用tag值来区别也有不好的地方,将来有可能会重复

将创建按钮的重复代码抽取出来,方便调用

然后再用storyBoard或代码创建一个白色的view控件:

使用storyboard将属性托线方便方法中使用该属性

在方法中实现点击加号添加一个UIImageView和UILabel控件

效果图如下:

这种方式添加有很多问题,每次添加都在同一个位置,而且每次的UIImageView和UILabel都是添加到shopView中这样会很多问题。

解决方法可以使用先将UIImageView和UILabel添加到一个控件中去,再将这个控件添加到白色view中去,这样可以方便调位置,同时也不用理会里面的控件的位置

解决不同位置的布局:让它添加到白色视图时的布局,可以能过学习九宫格方式来实现。

为了方便控件,将图片和lable添加到一个父控件,然后多们只需控制父控件的位置就可以解决不同位置的问题:

效果图如下:

此时点多几次添加都是在同一个位置添加,用xcode中的调试工具可以看出点了多次:

解决这个方法,就是将红色控件的x和y值更改就可以改变位置

时间: 2024-10-16 04:36:46

(6)UIView常见属性二的相关文章

UIView常见属性总结

一 UIVIew 常见属性 1.frame 位置和尺寸(以父控件的左上角为原点(0,0)) 2.center 中点 (以父控件的左上角为原点(0,0)) 3.bounds 位置和尺寸(以自己的左上角为原点 (0,0)) 4.transform 形变属性(缩放,旋转) 5.backgroundColor 背景颜色 6.tag 标识(父控件可以根据这个标识找到对应的子控件,同一个父控件中的子控件不要一样) 7. hidden 设置是否要隐藏 8.alpha 透明度(0~1); 9.opaque 不透

UIView 常见属性

UIView 常见属性 UIView 常见属性 NSArray *subviews 获取所有的子控件(前提必须是加载在该视图上) 数组的顺序决定着子控件的显示层级顺序(下标越大的,越显示在上面) UIView的常见方法 addSubview 添加一个子控件 使用这个方法添加的子控件会被塞到subViews数组的最后面 可以使用下面的方法调整子控件在subViews数组中的顺序 //将子控件view插入到subviews数组的index位置 -(void)insertSubview:(UIView

UIView常见属性与方法

常见属性: @property(nonatomic,readonly) UIView    *superview; 获得自己的父控件对象 @property(nonatomic,readonly,copy) NSArray   *subviews; 获得自己的所有子控件对象 @property(nonatomic) NSInteger   tag; 控件的ID(标识),父控件可以通过tag来找到对应的子控件 @property(nonatomic) CGAffineTransform   tra

UIView常见属性详解

转载学习自http://www.cnblogs.com/hukezhu/p/4499994.html 上篇大体介绍了一些空间的常见属性,本篇主要介绍一下UIVIew的常见属性. 首先引入上一篇介绍的UIView的常见属性: //控件所在矩形框在父控件中的位置和尺寸(以父控件的左上角为坐标原点) @property(nonatomic) CGRect frame; //控件所在矩形框的位置和尺寸(以自己左上角为坐标原点,所以bounds的x\y一般为0) @property(nonatomic)

UI基础UIView常见属性及方法

1.NSBundle 1> 一个NSBundle代表一个文件夹,利用NSBundle能访问对应的文件夹 2> 利用mainBundle就可以访问软件资源包中的任何资源 3> 模拟器应用程序的安装路径 /Users/aplle/资源库/Application Support/iPhone Simulator/7.1/Applications 2.UIImageView和UIButton 1> 使用场合 * UIImageView: 如果仅仅是显示图片,不需要监听图片的点击 * UIB

UIView常见属性方法

UIView : UIResponder<NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem>/** *  通过一个frame来初始化一个UI控件 */- (id)initWithFrame:(CGRect)frame; // YES:能够跟用户进行交互@property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled;  // d

UIView常见属性

今天把UI view的一些常用的属性做了一个总结,也是之前自己做的笔记.感觉对于初学者来说可能会有点用处,不说废话了,看具体内容吧! 1 @interface UIView : UIResponder<NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem> 2 3 /** 4 * 通过一个frame来初始化一个UI控件 5 */ 6 - (id)initWithFrame:(CGRect)frame; 7 8 // YES:能

(5)UIView常见属性

此时打印的所有子控件会把使用自动布局的控件也打印出来,不准确,所以得去掉这两个选项,再进行打印 使用实例如下: viewWithTag的注意点,当有多个相同的Tag值时,它是先找到第一个Tag值,而不会继续找下去了,它是按照添加顺序来查找的 使用insertSubview: aboveSubview:方法将视图插入到在哪个视图之上 总结: 怎么验证它呢,可以通过如下来修改它的位置来观看变化,如下:

UIView常见属性设置汇总

1.圆角设置 viewT.layer.cornerRadius = 10;//设置那个圆角的有多圆 viewT.layer.borderWidth = 10;//设置边框的宽度,当然可以不要 viewT.layer.borderColor = [[UIColor redColor] CGColor];//设置边框的颜色 viewT.layer.masksToBounds = YES;//设为NO去试试 2.