在 Xcode (iOS) 中,我有一个包含按钮和文本字段组合的屏幕。但是,它们看起来不同。有没有办法让按钮看起来像一个文本字段?或者有没有一种方法可以让文本字段像按钮一样(按下时执行一些操作并且不调出键盘)?
谢谢
在 Xcode (iOS) 中,我有一个包含按钮和文本字段组合的屏幕。但是,它们看起来不同。有没有办法让按钮看起来像一个文本字段?或者有没有一种方法可以让文本字段像按钮一样(按下时执行一些操作并且不调出键盘)?
谢谢
您可以尝试以下方法之一:
textFieldShouldBeginEditing:
UITextFieldDelegate
在协议方法的实现中展示你的观点子类化也是一种选择,但它可能会使您的任务过于复杂。
如果你想执行一个动作并且按下时不调出键盘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
.
您需要自定义其中一个......或两者兼而有之
示例:创建一个类 CustomTextField:UITextField
在这个类中使用:
#import <QuartzCore/QuartzCore.h>
玩出风格
迟到的答案,但尽管如此。我这样做是为了让 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;
}