在未声明的多个图像视图上使用Uitapgesture识别器

我的快速代码使用func addBox将图像视图添加和附加到uiview控制器。我要做的就是在点击其中一个图像视图时激活func viewClicked。现在什么也没有发生,也没有任何内容写入调试区域。

import React from 'react';
import PaypalExpressBtn from 'react-paypal-express-checkout';

export default class MyApp extends React.Component {
    render() {
        const onSuccess = (payment) => {
            // Congratulation,it came here means everything's fine!
                    console.log("The payment was succeeded!",payment);
                    // You can bind the "payment" object's value to your state or props or whatever here,please see below for sample returned data
        }

        const onCancel = (data) => {
            // User pressed "cancel" or close Paypal's popup!
            console.log('The payment was cancelled!',data);
            // You can bind the "data" object's value to your state or props or whatever here,please see below for sample returned data
        }

        const onError = (err) => {
            // The main Paypal's script cannot be loaded or somethings block the loading of that script!
            console.log("Error!",err);
            // Because the Paypal's main script is loaded asynchronously from "https://www.paypalobjects.com/api/checkout.js"
            // => sometimes it may take about 0.5 second for everything to get set,or for the button to appear
        }

        let env = 'sandbox'; // you can set here to 'production' for production
        let currency = 'USD'; // or you can set this value from your props or state
        let total = 1; // same as above,this is the total amount (based on currency) to be paid by using Paypal express checkout
        // Document on Paypal's currency code: https://developer.paypal.com/docs/classic/api/currency_codes/

        const client = {
            sandbox:    'ASloDPNYZO9LtigzQd58tcYQHuORCH3TlvPS-LWMdwzIWiEiefonUQE7KmWCE-WkaEaiiJb54RsncrLE',production: 'YOUR-PRODUCTION-APP-ID',}
        // In order to get production's app-ID,you will have to send your app to Paypal for approval first
        // For sandbox app-ID (after logging into your developer account,please locate the "REST API apps" section,click "Create App"):
        //   => https://developer.paypal.com/docs/classic/lifecycle/sb_credentials/
        // For production app-ID:
        //   => https://developer.paypal.com/docs/classic/lifecycle/goingLive/

        // NB. You can also have many Paypal express checkout buttons on page,just pass in the correct amount and they will work!
        return (
            <PaypalExpressBtn env={env} client={client} currency={currency} total={total} onError={onError} onSuccess={onSuccess} onCancel={onCancel} />
        );
    }
}
toby_liao 回答:在未声明的多个图像视图上使用Uitapgesture识别器

您需要启用用户互动

for view in self.arrTextFields {
    view.isUserInteractionEnabled = true
    view.addGestureRecognizer(UITapGestureRecognizer(target: self,action: #selector(viewClicked)))
} 

@objc func viewClicked(_ recognizer: UITapGestureRecognizer) {
   print("tap")
}
本文链接:https://www.f2er.com/2902782.html

大家都在问