UIButton类型属性简单归纳以及自定义按钮的设置_空忆己

(1)UIButton类继位自UIControl,和uicontrol继位UIView,因UIView是每一矩形区域,去,UIButton回旋化的情人在世界上是每一矩形,不过有各种各样的圆角。、补充部分与接触、消息按钮等,向它们添加底色,开始存在矩形。,而且它们具有有木架的属性。,这是设置场所和矩形的场所。。

(2)UIButton发展每一按钮,用不着回旋化,这做错alloc和init,相反,相当导演内置的厂子办法被导演喊叫。,这和UILabel
*label1=[[UILabel
alloc init ]两样],此外这些类型中最经用的自清晰度类型,因人们可以专用化图片,图片和写的场所。

(4)按钮的最重要的东西做错下面设置的属性。,不过按钮关系的用手操作是什么?即点击后产生什么,这需求每一addtarget用手操作效能,是否多个按钮用于相反的效能,您需求标志属性来区别哪个按钮是。

(5)自清晰度按钮,办法经过是自清晰度每一类,继位了UIButton的最好者,之后重写因此类的应变量,它相当于专用化。,最大的,应用因此类发展每一按钮,这些按钮也就具有自清晰度的构成(这种办法只旨在自清晰度按钮类型伤病军人)。

– (void)viewDidLoad {

 
生利BTN1情人,用不着alloc和init,而做错应用内置的厂子办法,有大多数人CMD 点击检查

  UIButton *btn1=[UIButton
buttonWithType:UIButtonTypeRoundedRect];

  设置场所和宽度

  (30, 30, 300,
30);

 
设置按钮的版本,声明有好几种经用的时Normal和Highlighted(点击时声明),单击 检查

  [btn1 settitle:点我。!”
forState:UIControlStateNormal];

  单击时设置版本

  [btn1 settitle:@我奉命!”
forState:UIControlStateHighlighted];

  设置版本色

  [btn1 setTitleColor:[UIColor greenColor]
forState:UIControlStateNormal];

  [btn1 setTitleColor:[UIColor yellowColor]
forState:UIControlStateHighlighted];

  单击时设置按钮的底色色,呃,完整伤病军人,那是没伤病军人果的

  [btn1 setTintColor:[UIColor
purpleColor]];

  点击按钮灯,这仅有的按钮两头的每一光。,这伤病军人果

  btn1.showsTouchWhenHighlighted=YES;

  设置拉环拉环,惟一的标志用,可以用来区别哪个按钮窗口小部件是

 

  //设置底色色

  [UIColor
redColor];

 
现时这种办法在iOS的高版本中是极度的激动的。,因人们瞥见,当底色未设置时,拐角按钮缺少边框。,去,在它下面发展有木架的并做错很使变重。

  设置底色或图片,底色是矩形。,那好的猛扔呢?坑爹!

 
因而现时最好的东西的开发利用uibuttontypecustom,而做错UIButtonTypeRoundedRect

  最重要的添加扳柄事变用户互相

  自负指的是喊叫情人的办法。

 
BtnClick:是喊叫办法,BtnClick和btnclick:是两样的,后者表现有参量。

 
//UIControlEventTouchUpInsIDE是每一扳机事变。,有很多,可以是CMD 点击检查

 
嗨有三个参量可以恣意替代。,譬如,一类新的HI,在类(空)说闲话中清晰度办法

 
之后在因此用锉锉中引入头用锉锉。,回旋化每一情人1嗨,之后你可以用1替代自,说闲话btnclick与替代

  这宣布在1情人说闲话的办法是点击后

  [btn1 addTarget:self
举动:@选举人(btnclick
forControlEvents:UIControlEventTouchUpInsIDE ]

  再加每一按钮

  UIButton *btn2=[UIButton
buttonWithType:UIButtonTypeContactAdd];

  (30, 80, 300,
30);

 
因此添加的与接触按钮在世界上是每一矩形。,和下面的相等地,都是继位自UIControl,后者是由UIView,因而它是椭圆形的的

  偶数的按钮相当多的大,不过单击总计矩形相当于单击按钮。

  [UIColor
greenColor];

  //设置拉环

 

 
//补充部分事变:用同一的办法叫BTN1,但问题是,人们需求区别按钮,是否人们需求区别,你需求应用拉环,经过把持参量的btnclick

  [btn2 addTarget:self
举动:@选举人(btnclick
forControlEvents:UIControlEventTouchUpInsIDE ]

  添加每一最经用的自清晰度按钮,另一边按钮尝试本身

  UIButton *btn3=[UIButton
buttonWithType:UIButtonTypeCustom];

  (30 , 150 , 300,
90);

  [UIColor
redColor];

 

  [btn3 addTarget:self
举动:@选举人(btnclick
forControlEvents:UIControlEventTouchUpInsIDE ]

  设置图片底色是忧郁的的点击(但没伤病军人果)

  btn3.adjustsImageWhenHighlighted=YES;

  //因而,添加图片的一种办法是添加底色图片。,这张相片,是否小了,就会被膨胀并丰富总计底色

  [btn3 setBackgroundImage:[UIImage
imageNamed:@””] forState:UIControlStateNormal];

 
并且到一边一种补充部分图片的办法,它在按钮上而做错底色上。,这做错膨胀图片的办法。,它就在两头

  [btn3 setImage:[UIImage
imageNamed:@””] forState:UIControlStateNormal];

 
设置按钮版本,添加的版本将在西雅图图片两头,相片在向左。,版本如次

  [btn3 settitle:@自清晰度按钮
forState:UIControlStateNormal];

 
//是否需求重行化妆因此图片和按钮写的场所,你需求在UIButton类重写效能,Click UIButton理解

  //-
(CGRect)titleRectForContentRect:(CGRect)contentRect;写相对于按钮的场所

  //-
(CGRect)imageRectForContentRect:(CGRect)contentRect;图片相对于按钮的场所

 
//最好者步:你可以清晰度每一UIButton类称为色,在m中重写以下应变量

  //-
(CGRect)titleRectForContentRect:(CGRect)contentRect{

  // return CGRectMake(50, 25, 100,
40);

  //}

  //-
(CGRect)imageRectForContentRect:(CGRect)contentRect{

  // return CGRectMake(150, 25, 40,
40);

  //}

 
其次测量,在因此用锉锉中引入头用锉锉,之后回旋化BTN3,用色,而做错结果是的UIButton

 
我的译文:相当于每一小的专用化每一本地人UIButton,去,情人的前回旋也具有自清晰度印象。

  这种办法只依从的uibuttontypecustom,另一边伤病军人

  显示三个按钮

  [self.view addSubview:btn1];

  [self.view addSubview:btn2];

  [self.view addSubview:btn3];

  [极度的 viewDidLoad];

  // Do any additional setup after loading
the view, typically from a 笔尖.

}

添加每一参量,这是从原-(void)btnclick { }如次

因人们知情嗨都是按钮情人,去可以用(UIButton *)sender,但通常人们应用传播交给id。

(void)btnclick:(ID)发送

  将传送的把持参量替换为按钮

  UIButton *btn=(UIButton *)sender;

  替换成概数

  NSLog(@”OMG,it is %i”,(int)

}

发表评论

Close Menu