Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/114.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 默认UITableViewCell状态_Ios_Uitableview_Swift_Xcode6 - Fatal编程技术网

Ios 默认UITableViewCell状态

Ios 默认UITableViewCell状态,ios,uitableview,swift,xcode6,Ios,Uitableview,Swift,Xcode6,我创建了一个自定义UITableViewRowAction。因此,如果我在UITableViewCell上向左滑动,会出现一个自定义按钮。无自定义按钮是例如删除按钮。如果我按下这个自定义按钮,会出现UIView,但按下的按钮仍然显示。我希望在按下UITableViewCell后看到没有此按钮的UITableViewCell。你们中有人知道如何在Swift中这样做并且愿意帮助我吗?谢谢你的回答 屏幕截图:我在自己的应用程序中实现这些操作。看一看,太棒了 您可以这样使用此类: import UIKi

我创建了一个自定义UITableViewRowAction。因此,如果我在UITableViewCell上向左滑动,会出现一个自定义按钮。无自定义按钮是例如删除按钮。如果我按下这个自定义按钮,会出现UIView,但按下的按钮仍然显示。我希望在按下UITableViewCell后看到没有此按钮的UITableViewCell。你们中有人知道如何在Swift中这样做并且愿意帮助我吗?谢谢你的回答

屏幕截图:

我在自己的应用程序中实现这些操作。看一看,太棒了

您可以这样使用此类:

import UIKit

class MySWCell: SWTableViewCell {

}
一,。导入SWTableViewCell类

按照上面的链接或在github上搜索SWTableViewCell。下载zip或使用可可豆,如果你熟悉的话

打开解压后的目录,找到PodsFile目录。将此目录的内容拖到项目中。这样做会导致Xcode请求创建桥接头。同意,然后添加

#import "SWTableViewCell.h"
到该桥接头文件。如果编译,您将得到一些解析问题错误:预期类型。要解决这些问题,只需添加

#import <UIKit/UIKit.h>
如果你正在使用故事板,你可以在这个类的tableview中创建你的单元格,连接任何插座/动作等。所有你需要做的事情都可以让单元格像你需要的那样

三,。在TableView中使用子类

对于这个例子,我刚从Master-Detail-base项目开始。您可以更改cellForRowAtIndexPath方法以使用新的自定义单元格:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as MySWCell

    let object = objects[indexPath.row] as NSDate
    cell.textLabel!.text = object.description  
    return cell
}
虽然这很好,但您可能希望添加右/左实用程序按钮,这也是我们执行所有这些操作的原因:

四,。添加实用程序按钮

您可以在cellForRowAtIndexPath中执行此操作,但更愿意将其放在单独的函数中:

func getRightUtilityButtonsToCell()-> NSMutableArray{
    var utilityButtons: NSMutableArray = NSMutableArray()

    utilityButtons.sw_addUtilityButtonWithColor(UIColor.redColor(), title: NSLocalizedString("Delete", comment: ""))
    utilityButtons.sw_addUtilityButtonWithColor(UIColor.blueColor(), title: NSLocalizedString("Email", comment: ""))
    return utilityButtons
}
func swipeableTableViewCell(cell: SWTableViewCell!, didTriggerRightUtilityButtonWithIndex index: Int) {
    if index == 0 {
        println("delete button")
    }else {
        println("print button")
    }
}
现在在CellForRowatineXpath中使用此方法:

如果要在单元格上向左滑动,则有两个按钮:

但是,这些按钮的作用不大。我们需要服从代表

五,。按一下按钮

首先,告诉单元格您是其委托人。同样,在cellForRowAtIndexPath中添加以下行:

cell.delegate = self;
然后将类定义调整为:

class MasterViewController: UITableViewController, SWTableViewCellDelegate
MasterViewController将替换为处理tableview数据源/委托的类的名称

现在实现didTriggerRightUtilityButtonWithIndex函数:

func getRightUtilityButtonsToCell()-> NSMutableArray{
    var utilityButtons: NSMutableArray = NSMutableArray()

    utilityButtons.sw_addUtilityButtonWithColor(UIColor.redColor(), title: NSLocalizedString("Delete", comment: ""))
    utilityButtons.sw_addUtilityButtonWithColor(UIColor.blueColor(), title: NSLocalizedString("Email", comment: ""))
    return utilityButtons
}
func swipeableTableViewCell(cell: SWTableViewCell!, didTriggerRightUtilityButtonWithIndex index: Int) {
    if index == 0 {
        println("delete button")
    }else {
        println("print button")
    }
}
现在你可以走了!您还可以告诉单元格执行一些很酷的操作,例如在使用didTriggerRightUtilityButtonWithIndex方法中的hideUtilityButtonsAnimated方法选择按钮后隐藏按钮:

当tableview滚动时,此函数将隐藏单元格:

func swipeableTableViewCellShouldHideUtilityButtonsOnSwipe(cell: SWTableViewCell!) -> Bool {
    return true
}
祝你玩得开心,这是一套很棒的课程

我在自己的应用程序中实现这些操作。看一看,太棒了

您可以这样使用此类:

import UIKit

class MySWCell: SWTableViewCell {

}
一,。导入SWTableViewCell类

按照上面的链接或在github上搜索SWTableViewCell。下载zip或使用可可豆,如果你熟悉的话

打开解压后的目录,找到PodsFile目录。将此目录的内容拖到项目中。这样做会导致Xcode请求创建桥接头。同意,然后添加

#import "SWTableViewCell.h"
到该桥接头文件。如果编译,您将得到一些解析问题错误:预期类型。要解决这些问题,只需添加

#import <UIKit/UIKit.h>
如果你正在使用故事板,你可以在这个类的tableview中创建你的单元格,连接任何插座/动作等。所有你需要做的事情都可以让单元格像你需要的那样

三,。在TableView中使用子类

对于这个例子,我刚从Master-Detail-base项目开始。您可以更改cellForRowAtIndexPath方法以使用新的自定义单元格:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as MySWCell

    let object = objects[indexPath.row] as NSDate
    cell.textLabel!.text = object.description  
    return cell
}
虽然这很好,但您可能希望添加右/左实用程序按钮,这也是我们执行所有这些操作的原因:

四,。添加实用程序按钮

您可以在cellForRowAtIndexPath中执行此操作,但更愿意将其放在单独的函数中:

func getRightUtilityButtonsToCell()-> NSMutableArray{
    var utilityButtons: NSMutableArray = NSMutableArray()

    utilityButtons.sw_addUtilityButtonWithColor(UIColor.redColor(), title: NSLocalizedString("Delete", comment: ""))
    utilityButtons.sw_addUtilityButtonWithColor(UIColor.blueColor(), title: NSLocalizedString("Email", comment: ""))
    return utilityButtons
}
func swipeableTableViewCell(cell: SWTableViewCell!, didTriggerRightUtilityButtonWithIndex index: Int) {
    if index == 0 {
        println("delete button")
    }else {
        println("print button")
    }
}
现在在CellForRowatineXpath中使用此方法:

如果要在单元格上向左滑动,则有两个按钮:

但是,这些按钮的作用不大。我们需要服从代表

五,。按一下按钮

首先,告诉单元格您是其委托人。同样,在cellForRowAtIndexPath中添加以下行:

cell.delegate = self;
然后将类定义调整为:

class MasterViewController: UITableViewController, SWTableViewCellDelegate
MasterViewController将替换为处理tableview数据源/委托的类的名称

现在实现didTriggerRightUtilityButtonWithIndex函数:

func getRightUtilityButtonsToCell()-> NSMutableArray{
    var utilityButtons: NSMutableArray = NSMutableArray()

    utilityButtons.sw_addUtilityButtonWithColor(UIColor.redColor(), title: NSLocalizedString("Delete", comment: ""))
    utilityButtons.sw_addUtilityButtonWithColor(UIColor.blueColor(), title: NSLocalizedString("Email", comment: ""))
    return utilityButtons
}
func swipeableTableViewCell(cell: SWTableViewCell!, didTriggerRightUtilityButtonWithIndex index: Int) {
    if index == 0 {
        println("delete button")
    }else {
        println("print button")
    }
}
现在你可以走了!您还可以告诉单元格执行一些很酷的操作,例如在使用didTriggerRightUtilityButtonWithIndex方法中的hideUtilityButtonsAnimated方法选择按钮后隐藏按钮:

当tableview滚动时,此函数将隐藏单元格:

func swipeableTableViewCellShouldHideUtilityButtonsOnSwipe(cell: SWTableViewCell!) -> Bool {
    return true
}
祝你玩得开心,这是一个很棒的游戏
t类

你的问题很难理解。重写,添加一些代码,也许是截图。e、 g.不确定你所说的按下的按钮总是显示OK是什么意思。我用截图更新了我的问题。希望有帮助。你的问题很难理解。重写,添加一些代码,也许是截图。e、 g.不确定你所说的按下的按钮总是显示OK是什么意思。我用截图更新了我的问题。希望它有帮助。但它是用Objective-C编写的。只需将它放在桥接标题中,您就可以在swift中与库交互。我如何确定按钮是否已按下?实现委托方法-voidswipeableTableViewCell:SWTableViewCell*cell didTriggerRightUtilityButtonWithIndex:NSIntegerindex;虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能会变得无效。但它是用Objective-C编写的。只需将其放在桥接标题中,您就可以在swift中与库进行交互。我如何确定按钮是否已按下?实现委托方法-voidswipeableTableViewCell:SWTableViewCell*cell索引中的DidTriggerRightUtility按钮:NSIntegerindex;虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,则仅链接的答案可能无效。