iosuibotton点击事件怎么写

 我来答
就烦条0o
2016-07-14 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46492
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
  UIBottonUI里面很重要,且很基础的一个控件,主要是用来点击并触发事件,在这里,主要与UIImageView区分开来;

  UIImageView主要用在显示图片上,而且只能显示图片,不能显示文字,当然UIImageView并不是绝对不能添加触发事件,但它用到的是UITapGestureRecognizer(手势识别,这里不详解);

  而UIBotton既显示图片又显示文字(因为其内部默认有两个控件一个是UIImageView,一个UILabel,所以当用代码给按钮设置字体属性的时候利用UIButton的.TitleLabel返回这个UILabel设置。),而且可以被点击从而触发事件,UIBotton继承自UIControl,UIControl有AddTarget方法,所以UIButton拥有处理点击事件的能力。(凡是继承自UIControl的控件都能监听点击事件)

  下面是一些关于UIBotton的用法代码:

      //初始化方法:

      //UIBotton的初始化方法一般
不用”alloc“和”initwithframe“,因为UIButton有一个属性叫做buttonType,也就是按钮风格,这个属性是只读的,必
须在初始化的时候设定,如果你不设定,他以后是没办法修改的,默认为UIButtonTypeCustom,不加背景图片根本看不见这个按钮,而他的
Frame是可以初始化以后再修改的。

  1.1.UIBotton *botton = [UIBotton buttonWithType:UIButtonTypeRoundedRect];

         //“
"这是在IOS6系统上的显示样式,而IOS7系统上时,则变成“
“ 白色,圆角,矩形

  1.2.UIBotton *botton = [UIBotton buttonWithType:UIButtonTypeContactAdd];

         //"
"这是在IOS6系统上的显示样式,而IOS7系统上时,则变成“
”其实它是个矩形,其长度与宽度按自定义的frame为准,只是背景透明(UIButtonTypeInfoDask,UIButtonTypeDetailDisclosure,UIButtonTypeInfoLight 也是如此)

  1.3.UIBotton *botton = [UIBotton buttonWithType:UIButtonTypeCustom]; //此样式用于需要自定义设置按钮在不同状态下(被点击前,被点击时,被点击后)的不同形式,例如:被点击前按钮是灰暗的,被点击时是高亮的,被点击后是中度亮度。自定义,无风格。

1.4.UIBotton *botton = [UIBotton buttonWithType:UIButtonTypeInfoDask]; //白色背景下使用的深色圆圈信息按钮

        //"
"这是在IOS6系统上的显示样式,而IOS7系统上时,则变成“


  1.5.UIBotton *botton = [UIBotton buttonWithType:UIButtonTypeInfoLight]; //微件(widget)使用的小圆圈信息按钮,可以放在任何文字旁

        //"
"这是在IOS6系统上的显示样式,需要在背景颜色不是白色下才能更有效地显示出来,而IOS7系统上时,则变成“


  1.6.UIBotton *botton = [UIBotton buttonWithType:UIButtonTypeDetailDisclosure]; //蓝色小箭头按钮,主要做详细说明用

        //"
"这是在IOS6系统上的样式,在IOS7系统上则变成“


  button.frame = CGRectMake(90,100,140,50); //必须给button添加frame,否则显示不出来

  //设置在某一状态下按钮标题,图像

   [button setTitle:@"确定" forState:UIControlStateNormal]; // 这是常态下设置标题

                   UIControlStateHighlighted; //高亮(按住,还没有松手时)

                   UIControlStateDisabled; //禁用 此状态下先设置:Button.enabled = NO;

                   UIControlStateSelected; //选中  此状态下先设置:Button.selected = YES;

  [button setTitleEdgeInsets:UIEdgeInsetsMake(5,5,5,5)]; //按钮的标题位置偏移,距离上,左,下,右的距离

  [button setTitleColor:[UIColor redColor] forState:UIContorlStateNormal]; //设置不同状态下的标题的颜色

  [button setTitleShadowColor:[UIColor grayColor] forState:UIContorlStateNormal]; //设置不同状态下的标题的阴影颜色

  button.titleLabel.shadowoffset = CGSizeMake(5,5); //设置阴影偏移位置,向右向下为正,向左向上为负

  [button setBackgroundImage:[UIimage imageNamed:@“text.jpg”] forState:UIContorlStateNormal]; //设置不同状态下按钮的背景颜色

  [button setImage:[UIImage imageNamed:@“text.jpg”] forState:UIContorlStateNormal]; //设置按钮的某一状态下是图片(自己先细细体味一下setImage和setBackgroundImage有什么不同吧,setBackgroundImage会对图片进行拉伸,以button的frame为大小,而setImage则按原图大小显示)

        //给button设置成圆形
  button.layer.cornerRadius = 50;  // 设置button的圆角半径,这样按钮就变成了园的
  
  [button.layer masksToBounds];   // 将button上的图片一样变成圆形
  
  button.layer.borderWidth = 3;    // 添加边框
  
  button.layer.borderColor = [UIColor orangeColor].CGColor;  // 边框颜色 注意要加.CGColor属性

     //对按钮的外观进行微调

  button.adjustsImageWhenHighlighted = NO ; //默认情况下,在按钮被禁用时,图片会被画的颜色深一点,根据自己需求设置YES或NO

  button.adjustsImageWhenDisabled = NO; //默认情况下,在按钮被禁用时,图片会被画的颜色淡一点,根据自己需求设置YES或NO

  button.showsThouchWhenHighlighted = YES ; //此属性设置为YES时,可令按钮在按下时发光

  [self.view addSubview:button]; //显示控件,不用刻意记都知道的吧?!

  [button addTarget:self action:@selector(text:) forContorlEvents:UIContorlEventTouchUpInside]; //按钮的特点,就是点击并触发事件,此处事件方法为“text:”,触发方法是:点击并抬起(Xcode里面提供了几种触发方法,可以自行尝试)

-(void)text:(id)sender

{

UIButton *button = (UIButton *)sender;

//触发的事件代码

}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式