- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的应用程序中,我使用滑动手势
,但是当我添加更多项目时,我的应用程序崩溃并且滑动手势不起作用。我不知道该怎么办。在我的 View Controller 中我有
class controller: UIViewController, UITableViewDelegate, UITableViewDataSource {
var array = [AnyObject]()
var check = false
@IBOutlet weak var tableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
var rightButton : UIBarButtonItem = UIBarButtonItem(image: UIImage(named: "edit"), style: UIBarButtonItemStyle.Done, target: self, action: "editClicked")
self.editing = !self.editing
rightButton.tintColor = UIColor.whiteColor()
self.navigationItem.rightBarButtonItem = rightButton
var leftButton : UIBarButtonItem = UIBarButtonItem(image: UIImage(named: "settings"), style: UIBarButtonItemStyle.Plain, target: self, action: "settingsClicked")
leftButton.tintColor = UIColor.whiteColor()
self.navigationItem.leftBarButtonItem = leftButton
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return array.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell: CustomCell = tableView.dequeueReusableCellWithIdentifier("Cell") as! CustomCell
let object = array[indexPath.row] as! NSString
cell.editCell(object, delete: check)
cell.button.addTarget(self, action: "deleteClicked", forControlEvents : UIControlEvents.TouchUpInside)
return cell
}
这是我用来添加项目的函数
func addClicked () {
check = true
var alert = UIAlertController(title: "add", message: "", preferredStyle: UIAlertControllerStyle.Alert)
alert.addTextFieldWithConfigurationHandler({ (textField) -> Void in textField.text = ""
})
alert.addAction(UIAlertAction(title: "confirm", style: .Default, handler: { (action) -> Void in
let textField = (alert.textFields![0] as! UITextField).text as String
if textField != "" {
self.array.insert(textField, atIndex: 0)
let indexPath = NSIndexPath(forRow: 0, inSection: 0)
self.tableView.insertRowsAtIndexPaths([indexPath], withRowAnimation: .Automatic)
}
}))
alert.addAction(UIAlertAction(title: "cancel", style: .Cancel, handler: {
(ACTION) -> Void in
}))
self.presentViewController(alert, animated: true, completion: nil)
self.tableView.reloadData()
}
和
class CustomCell: UITableViewCell {
@IBOutlet weak var label: UILabel!
@IBOutlet weak var view: UIView!
@IBOutlet weak var toBuy: UIImageView!
@IBOutlet weak var atHome: UIImageView!
@IBOutlet weak var button: UIButton!
var gesture, check: Bool!
override func awakeFromNib() {
super.awakeFromNib()
var leftSwipe = UISwipeGestureRecognizer(target: self, action: Selector("handleSwipes:"))
var rightSwipe = UISwipeGestureRecognizer(target: self, action: Selector("handleSwipes:"))
leftSwipe.direction = .Left
rightSwipe.direction = .Right
self.addGestureRecognizer(leftSwipe)
self.addGestureRecognizer(rightSwipe)
gesture = false;
check = false
}
func handleSwipes(sender:UISwipeGestureRecognizer) {
if (gesture == false) && (check == true){
if (sender.direction == .Left) {
gesture = true;
var labelPosition = CGPointMake(self.view.frame.origin.x - 55.0, self.view.frame.origin.y);
UIView.animateWithDuration(0.5, animations: {
self.view.frame = CGRectMake( labelPosition.x , labelPosition.y , self.view.frame.size.width, self.view.frame.size.height)
}, completion: { (value: Bool) in
self.gesture = false;
})
}
if (sender.direction == .Right) {
gesture = true;
var viewPosition = CGPointMake(self.view.frame.origin.x + 55.0, self.view.frame.origin.y);
UIView.animateWithDuration(0.5, animations: {
self.view.frame = CGRectMake( viewPosition.x , viewPosition.y , self.view.frame.size.width, self.view.frame.size.height)
}, completion: { (value: Bool) in
self.gesture = false;
})
}
}
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
}
最佳答案
我在您的代码中发现 MVC 违规。请将滑动手势处理程序添加到您的 Controller 而不是您的 View (即自定义单元格)。
因此handlesSwipeMethod将移动到“ Controller ”
关于ios - 添加更多项目时滑动手势不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30931355/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!