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