第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

檢測空UITextField中的Backspace

檢測空UITextField中的Backspace

守候你守候我 2019-07-27 15:14:41
檢測空UITextField中的Backspace是否有任何方法可以檢測到背空間/刪除鍵按在iphone鍵盤上UITextField那是空的?我想知道什么時候背空間只在以下情況下才按下UITextField是空的。根據(jù)@AlexReynolds在評論中的建議,我在創(chuàng)建文本字段時添加了以下代碼:[[NSNotificationCenter defaultCenter] addObserver:self           selector:@selector(handleTextFieldChanged:)               name:UITextFieldTextDidChangeNotification             object:searchTextField];收到此通知(handleTextFieldChanged函數(shù)),但當(dāng)我按下背空間輸入一個空字段。有什么想法嗎?這個問題似乎有些混亂??丶r,我希望收到通知。背空間按下鍵。就這樣。但是解決方案也必須在UITextField已經(jīng)空了。
查看完整描述

3 回答

?
撒科打諢

TA貢獻(xiàn)1934條經(jīng)驗 獲得超2個贊

SWIFT 4:


子類UITextField:

// MyTextField.swiftimport UIKitprotocol MyTextFieldDelegate {
    func textFieldDidDelete()}class MyTextField: UITextField {

    var myDelegate: MyTextFieldDelegate?

    override func deleteBackward() {
        super.deleteBackward()
        myDelegate?.textFieldDidDelete()
    }}

執(zhí)行情況:

// ViewController.swiftimport UIKitclass ViewController: UIViewController, MyTextFieldDelegate {

    override func viewDidLoad() {
        super.viewDidLoad()

        // initialize textField
        let input = MyTextField(frame: CGRect(x: 50, y: 50, width: 150, height: 40))

        // set viewController as "myDelegate"
        input.myDelegate = self

        // add textField to view
        view.addSubview(input)

        // focus the text field
        input.becomeFirstResponder()
    }

    func textFieldDidDelete() {
        print("delete")
    }}

目標(biāo)-C:


子類UITextField:

//Header//MyTextField.h//create delegate protocol@protocol MyTextFieldDelegate <NSObject>@optional- (void)textFieldDidDelete;
@end@interface MyTextField : UITextField<UIKeyInput>//create "myDelegate"@property (nonatomic, assign) id<MyTextFieldDelegate>
 myDelegate;@end//Implementation#import "MyTextField.h"@implementation MyTextField- (void)deleteBackward {
    [super deleteBackward];

    if ([_myDelegate respondsToSelector:@selector(textFieldDidDelete)]){
        [_myDelegate textFieldDidDelete];
    }}@end

現(xiàn)在只需添加MyTextFieldDelegate敬你的UIViewController然后把你的UITextFields 我的代表self:

//View Controller Header#import "MyTextField.h"//add "MyTextFieldDelegate" to you view controller@interface ViewController : 
UIViewController <MyTextFieldDelegate>@end//View Controller Implementation- (void)viewDidLoad {
    //initialize your text field
    MyTextField *input = 
     [[MyTextField alloc] initWithFrame:CGRectMake(0, 0, 70, 30)];

    //set your view controller as "myDelegate"
    input.myDelegate = self;

    //add your text field to the view
    [self.view addSubview:input];}//MyTextField Delegate- (void)textFieldDidDelete {
    NSLog(@"delete");}


查看完整回答
反對 回復(fù) 2019-07-28
?
尚方寶劍之說

TA貢獻(xiàn)1788條經(jīng)驗 獲得超4個贊


對于一個覆蓋-[UITextField deleteBackward].

檢查UITextInput,特別是UIKeyInput有一個deleteBackward委托方法那,那個在按下刪除鍵時調(diào)用。如果您正在做一些簡單的事情,那么您可能會考慮只進(jìn)行子類化。UILabel并使其符合UIKeyInput議定書,如SimpleTextInput而這個iPhone UIKeyInput示例注:UITextInput及其親屬(包括UIKeyInput)只能在IOS 3.2及更高版本中使用。




查看完整回答
反對 回復(fù) 2019-07-28
  • 3 回答
  • 0 關(guān)注
  • 390 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號