一個讓我不舒服的自定義鍵盤

自定義的一個鍵盤輸入

根據需求做,真的好惡心,但是仔細研究一下蠻簡單的
剛開始做的時候,要關閉原生鍵盤的彈出
self.sellingPricetext.inputView = [[UIView alloc] initWithFrame:CGRectZero];
[self.sellingPricetext setDelegate:self];
self.originalPriceText.inputView = [[UIView alloc] initWithFrame:CGRectZero];
[self.originalPriceText setDelegate:self];

鍵盤輸入的界面我是用xib畫的,簡單,但是後期改動麻煩
xib搭建

輸入的時候需要用NSMutableString來接受輸入的值
self.string1 = [NSMutableString string];
self.string2 = [NSMutableString string];

這些是主要代碼,邏輯並不複雜,剛開始做的時候是不知道該如何下手

  • (IBAction)chooseTheDigital:(UIButton *)sender {

    if ([self.keybordType isEqualToString:@”0”]) {
    [self showHint:@”請選擇出售價格或者原價”];
    return;
    }

    if ([self.keybordType isEqualToString:@”1”]) {
    [self.string1 appendString:sender.currentTitle];
    self.sellingPricetext.text = self.string1;//原價
    }

    if ([self.keybordType isEqualToString:@"2"]) {
    
    [self.string2 appendString:sender.currentTitle];
    self.originalPriceText.text = self.string2;//出售價
    }
    

}

  • (IBAction)dele:(UIButton *)sender {

    if ([self.keybordType isEqualToString:@”0”]) {
    [self showHint:@”沒輸入原價或者出售價”];
    return;
    }

    if ([self.keybordType isEqualToString:@”1”]) {
    if ([self.sellingPricetext.text isEqualToString:@”“]) {
    [self showHint:@”請輸入原價”];

    }else{
    [self.string1 deleteCharactersInRange:NSMakeRange(self.string1.length-1, 1)];
    self.sellingPricetext.text = self.string1;
    }
    

    }

    if ([self.keybordType isEqualToString:@”2”]) {
    if ([self.originalPriceText.text isEqualToString:@”“]) {
    [self showHint:@”請輸入出售價”];

    }else{
        [self.string2 deleteCharactersInRange:NSMakeRange(self.string2.length-1, 1)];
        self.originalPriceText.text = self.string2;
    }
    

    }

}
- (IBAction)yesBuy:(UIButton *)sender {
sender.selected = !sender.selected;

if (sender.selected) {
    _yesBuy.selected = YES;
    _noBuy.selected = NO;
    self.buyType = @"1";
    self.originalPriceText.userInteractionEnabled = YES;
}else{
    _yesBuy.selected = NO;
}

}

  • (IBAction)noBuy:(UIButton *)sender {
    sender.selected = !sender.selected;
    if (sender.selected) {
    _noBuy.selected = YES;
    _yesBuy.selected = NO;
    self.buyType = @”0”;
    self.originalPriceText.text = @”“;
    self.originalPriceText.userInteractionEnabled = NO;
    self.string2 = [[NSMutableString alloc] init];
    }else{
    _noBuy.selected = NO;
    }
    }

  • (IBAction)priceSure:(UIButton *)sender {

    if ([self.sellingPricetext.text isEqualToString:@”“]) {
    [self showHint:@”請輸入原價”];
    return;
    }

    if ([self.sellingPricetext.text floatValue] < [self.originalPriceText.text floatValue]) {
    [self showHint:@”出售價格不能大於原價”];
    return;
    }

    if ([self.buyType isEqualToString:@”1”]) {
    if ([self.originalPriceText.text isEqualToString:@”“]) {
    [self showHint:@”請輸入出售價”];
    return;
    }

    if ([self.sellingPricetext.text isEqualToString:@""]) {
        [self showHint:@"請輸入原價"];
        return;
    }
    
    [self.sellingPriceBtn setTitle:self.originalPriceText.text forState:UIControlStateNormal];
    [self.sellingPriceBtn setTitleColor:[UIColor colorWithRed:234/255.0 green:102/255.0 blue:135/255.0 alpha:1.0] forState:UIControlStateNormal];
    

    [self hiddenPasswordView];
    }

    if ([self.buyType isEqualToString:@”0”]) {

        [self hiddenPasswordView];
    

    // [self.sellingPriceBtn setTitle:self.sellingPriceBtn.titleLabel.text forState:UIControlStateNormal];
    [self.sellingPriceBtn setTitle:@”不支持購買” forState:UIControlStateNormal];
    [self.sellingPriceBtn setTitleColor:[UIColor colorWithRed:234/255.0 green:102/255.0 blue:135/255.0 alpha:1.0] forState:UIControlStateNormal];
    }

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章