【问题标题】:Stripe Payment Keyboard Automatically Popping Open条纹支付键盘自动弹出打开
【发布时间】:2015-09-05 00:00:18
【问题描述】:

我正在开发一个使用 Stripe 支付系统的 iOS 应用。问题是,我下面的代码会导致用于输入信用卡信息的条带键盘自动打开:

// PaymentViewController.m

- (void)viewDidLoad
{
  [super viewDidLoad];
  PTKView *view = [[PTKView alloc] initWithFrame:CGRectMake(15,20,290,55)];
  self.paymentView = view;
  self.paymentView.delegate = self;
  [self.view addSubview:self.paymentView];
}

但我希望在用户选择 PTKView 后显示键盘(Stripe 提供的灰色条)现在,一旦视图加载,输入信用卡详细信息的键盘已经打开,但我只希望栏出现,因此用户可以点击它来打开键盘。

【问题讨论】:

    标签: ios objective-c stripe-payments


    【解决方案1】:

    是的,你必须停止键盘出现,转到 PTKView.m 里面有一个函数“stateCardNumber”并注释代码,

    [self.cardNumberField becomeFirstResponder];
    

    这将停止自动键盘打开。

    【讨论】:

    • 就可以了,但是当用户点击屏幕的另一部分时如何让它消失?
    • 您已将此视图添加为子视图,因此您需要将其从该视图中删除。您可以显示按钮或使用手势识别器来移除视图。
    【解决方案2】:

    在 ViewWillAppear 中:通过使用下面提到的类别而不是 UIResponder 和 resignFirstResponder 来查找当前的第一响应者。

        @interface UIResponder (FirstResponder)
    +(id)currentFirstResponder ;
    -(NSString*) firstRespondersViewController;
    @end
    
    @implementation UIResponder (FirstResponder)
    static __weak id currentFirstResponder;
    
    +(id)currentFirstResponder {
        currentFirstResponder = nil;
        [[UIApplication sharedApplication] sendAction:@selector(findFirstResponder:) to:nil from:nil forEvent:nil];
        return currentFirstResponder;
    }
    
    -(void)findFirstResponder:(id)sender {
        currentFirstResponder = self;
    }
    
    -(NSString*) firstRespondersViewController{
        UIResponder *responder = self; \
        while ([responder isKindOfClass:[UIView class]]) \
            responder = [responder nextResponder]; \
        (UIViewController *)responder;
        NSLog(@"class is %@", NSStringFromClass([responder class]));
        return NSStringFromClass([responder class]);
    }
    @end
    

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-02
      • 2017-09-14
      • 2021-08-02
      • 2020-12-30
      • 2011-06-15
      • 1970-01-01
      • 2021-11-19
      • 2021-10-08
      相关资源
      最近更新 更多