1

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

谢谢

4

4 回答 4

5

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

  • 在文本字段顶部放置一个透明(没有图像的自定义)按钮并将所需的操作附加到它
  • textFieldShouldBeginEditing: UITextFieldDelegate在协议方法的实现中展示你的观点

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

于 2012-05-15T15:05:06.630 回答
2

如果你想执行一个动作并且按下时不调出键盘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.

于 2012-05-15T15:40:49.443 回答
0

您需要自定义其中一个......或两者兼而有之

示例:创建一个类 CustomTextField:UITextField

在这个类中使用:

  #import <QuartzCore/QuartzCore.h>

玩出风格

于 2012-05-15T15:07:24.013 回答
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;
}
于 2018-08-18T18:59:06.267 回答