在Xcode中,使按钮看起来像文本字段或文本字段看起来像按钮

时间:2012-05-15 15:00:56

标签: objective-c ios xcode

在Xcode(iOS)中,我有一个带有按钮和文本字段组合的屏幕。但是,它们看起来不同。有没有办法让按钮看起来像文本字段?或者有没有办法让文本字段像按钮一样(按下时执行一些操作,不要调出键盘)?

由于

4 个答案:

答案 0 :(得分:5)

您可以尝试以下方法之一:

  • 在文本字段顶部放置一个透明(自定义无图像)按钮并将所需操作附加到其上
  • textFieldShouldBeginEditing: UITextFieldDelegate协议方法
  • 的实施中显示您的观点

子类化也是一种选择,但它可能会使你的任务过于复杂。

答案 1 :(得分:1)

如果您想要执行某个操作,并且在按下UITextField时没有按下键盘,您可以这样做:

-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField {

    // do here everything you want
    NSLog(@"Pressed on TextField!");

    [self.view endEditing:YES]; // Hide keyboard

    return NO;
}

每次按下textField时都会调用此函数。

**不要忘记委托 UITextField

注意:使用此功能您将遇到问题:如果显示键盘,则无法隐藏,因此您还需要添加-endEditing:YES

答案 2 :(得分:0)

您需要自定义其中一个......或两者

例子:创建一个CustomTextField类:UITextField

在本课程中使用:

  #import <QuartzCore/QuartzCore.h>

玩风格

答案 3 :(得分:0)

最新答案,但是。我这样做是为了使UIButton看起来像UITextField

@property (weak, nonatomic) IBOutlet UIButton *resolutionButton;

在viewDidLoad中:

dispatch_async(dispatch_get_main_queue(), ^{
    [[self.resolutionButton layer] setBorderColor: [UIColor colorWithWhite:0.6f alpha:0.6f].CGColor];
    self.resolutionButton.layer.cornerRadius = 5.0f;
    self.resolutionButton.layer.borderWidth = 0.5f;
}