单击时如何使自定义按钮键像iPhone按键一样大

时间:2012-09-03 07:53:34

标签: iphone ios uibutton uicontrolevents

点击时,我想要这张照片中的大字。

big letter while clicking

如何为我的新按钮'ក'执行此操作?这是我创建按钮的代码:

consonantButton = [UIButton buttonWithType:UIButtonTypeCustom];

[consonantButton setTitle:@"ក" forState:UIControlStateNormal];
 consonantButton.titleLabel.font = [UIFont fontWithName:@"Hanuman" size:30];
consonantButton.frame = CGRectMake(242.0, 328.0, 27.0, 42.0);
[consonantButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[consonantButton setTitleShadowColor:[UIColor whiteColor] forState:UIControlStateNormal];
//  [consonantButton setTitleColor:[UIColor whiteColor] forState:UIControlStateHighlighted];
//  [consonantButton setTitleShadowColor:[UIColor whiteColor] forState:UIControlStateHighlighted];
//  consonantButton.titleLabel.shadowOffset = CGSizeMake(0, -1);

[consonantButton setBackgroundImage:[UIImage imageNamed:@"doneButtonNormal-khmer"] forState:UIControlStateNormal];
//  [consonantButton setBackgroundImage:[UIImage imageNamed:@"doneButtonHighlighted-khmer"] forState:UIControlStateHighlighted];


[consonantButton addTarget:self action:@selector(touchConsonantButton:) forControlEvents:UIControlEventTouchUpInside];

点击时如何制作这样的形状?这叫什么 ? 这是我为行动所做的代码:      - (void)touchConsonantButton:(UIButton *)sender {     // [self.target performSelector:consonantAction withObject:sender];         consonantButton.frame = CGRectMake(242.0,310.0,54.0,84.0);          consonantButton.titleLabel.font = [UIFont fontWithName:@“Hanuman”size:50];}

这是屏幕截图:(它不会消失为默认值)

while clicking

1 个答案:

答案 0 :(得分:0)

在按钮上添加两个目标:

[consonantButton addTarget:self action:@selector(touchUpConsonantButton:) forControlEvents:UIControlEventTouchUpInside];
[consonantButton addTarget:self action:@selector(touchDownConsonantButton:) forControlEvents:UIControlEventTouchDownInside];

现在选择器是:

-(void)touchUpConsonantButton(id)sender
{
  UIButton *btnClicked = (UIButton *)sender;
  // your code here
  [UIView animateWithDuration:0.1 delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{
    btnClicked.transform = CGAffineTransformMakeScale(2.0f, 2.0f);
  } completion:^(BOOL finished){
    // if you want to do something once the animation finishes, put it here
  }];
}

-(void)touchDownConsonantButton(id)sender
{
  UIButton *btnDown = (UIButton *)sender;
   // your code here
  [UIView animateWithDuration:0.1 delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{
    btnDown.transform = CGAffineTransformIdentity;
  } completion:^(BOOL finished){
    // if you want to do something once the animation finishes, put it here
  }];
}