AvePurchaseButton 1.0.6

AvePurchaseButton 1.0.6

测试已测试
语言语言 Obj-CObjective C
许可 MIT
发布最新发布2017年2月

Andreas Verhoeven 维护。




可在 App Store 风格中使用的嵌入购买按钮,具有适当的动画。在 Interface Builder 中可配置标题。

动画

显示按钮从正常到确认再到进行状态动画的 Gif 电影:电影

屏幕截图

显示按钮不同状态的屏幕截图:截图

如何使用

创建 AvePurchaseButton 的实例。设置 normalTitle、confirmationTitle 并处理 UIControlEventTouchUpInside 事件。要更改状态,使用 -[AvePurchaseButton setButtonState:animated:]。

使用示例

- (void)addPurchaseButton {
  AvePurchaseButton* button = [[AvePurchaseButton alloc] initWithFrame:CGRectZero];
    [button addTarget:self action:@selector(purchaseButtonTapped:) forControlEvents:UIControlEventTouchUpInside];
    button.buttonState = AvePurchaseButtonStateNormal;
    button.normalTitle = @"$ 2.99";
    button.confirmationTitle = @"BUY";
    [button sizeToFit];
    [self.view addSubview:button];
}

- (void)purchaseButtonTapped:(AvePurchaseButton*)button {
    switch(button.buttonState) {
        case AvePurchaseButtonStateNormal:
            [button setButtonState:AvePurchaseButtonStateConfirmation animated:YES];
            break;

        case AvePurchaseButtonStateConfirmation:
            // start the purchasing progress here, when done, go back to 
            // AvePurchaseButtonStateProgress
            [button setButtonState:AvePurchaseButtonStateProgress animated:YES];

            [self startPurchaseWithCompletionHandler:^{
               [button setButtonState:AvePurchaseButtonStateNormal animated:YES];
            }];
            break;

        case AvePurchaseButtonStateProgress:
            break;
    }
}