从自定义Tableview节标题中获取indexPath

时间:2016-04-19 13:36:41

标签: ios swift uitableview

我创建了一个自定义视图并将其添加到tableView部分标题中。

 func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {

        if section == 2 {

            if (headerView == nil) {
                headerView = CustomHeaderSection(frame: CGRectMake(0,0,self.view.bounds.width,38))
            }
            headerView!.delegate = self

            if isExpandableCell {

                headerView!.arrowImage.transform = CGAffineTransformIdentity

            }else {

                headerView!.arrowImage.transform = CGAffineTransformMakeRotation(CGFloat(M_PI))

            }
            return headerView

        }

        return nil
    }

我在tableview部分添加了自定义视图上的按钮。现在,当我点击它时,我将如何获得indexPath?

3 个答案:

答案 0 :(得分:1)

在CustomHeader类中声明一个section number变量,并在viewForHeaderInSection()内实例化时赋值。

在同一个类中实现目标按钮操作。因此,点击get self.section并将其传递给ViewController。

import Etrade from 'node-etrade-api';

const myKey = '';
const mySecret = '';
const configuration = {
    useSandbox : true,
    key        : myKey,
    secret     : mySecret
};

const et = new Etrade(configuration);

export default function( router ) {
    router.get('/etrade', getEtradeUrl);
}

async function getEtradeUrl( ctx, next ) {
    // Isn't this how I send the response back to the client?
    // This isn't coming through as a response body when using Postman or the client app
    ctx.body = await et.getRequestToken(receiveVerificationUrl, failedToGetUrl);
}

function receiveVerificationUrl( url ) {
    console.log(url); // This works and displays the response from etrade
    return url
}

function failedToGetUrl( error ) {
    console.log('Error encountered while attempting to retrieve a request token: ', error);
}

答案 1 :(得分:0)

在您的函数上,您可以向按钮添加标记ID,使其与indexPath

相同
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("FoldingCell", forIndexPath: indexPath) as! myTableViewCell
...
cell.myButton.tag = indexPath.row
...
}

答案 2 :(得分:-1)

您可以将节标题视图的tag属性分配给tableView(tableView: UITableView, viewForHeaderInSection section: Int)方法中的节数。