2016-05-23 4 views
0

На моем столе у ​​меня есть UIImageView, и мне нужно изменить изображение при выполнении действия салфетки. У меня класс для таблицы tableview, поэтому я изменил код, чтобы попробовать. Это код, но он не работает. Как мне это сделать?Изменить изображение UIImageView с помощью салфетки

func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) -> CellTableViewFriends{ 
    // you need to implement this method too or you can't swipe to display the actions 
    let cell = self.tableViewFriends.dequeueReusableCellWithIdentifier("CellTableViewFriends") as! CellTableViewFriends; 
    cell.imgArrow.image = UIImage(named: "myImage") 

    return cell 
} 

ответ

0

Если это то, что вы хотите сделать, вы должны изменить:

let cell = self.tableViewFriends.dequeueReusableCellWithIdentifier("CellTableViewFriends") as! CellTableViewFriends; 

в cellForRowAtIndexPath(_:)

let cell = self.tableViewFriends.cellForRowAtIndexPath(indexPath) 
0

Вы должны добавить распознаватель swipegesture в пользовательский класс ячеек и, как мне кажется, проведите пальцем по экрану. commitEditingStyle предназначен для редактирования ячейки типа delete, поэтому вы не можете использовать ее для перемещения изображений в ячейке.

Надеется, что это поможет :)

1

в классе клеток, вы можете добавить следующих методов:

func addSwipeGesture() { 
     let gestureRecognizer = UISwipeGestureRecognizer(target: self, action: #selector(self.swipedLeft)) 
     gestureRecognizer.direction = .Left 
     self.addGestureRecognizer(gestureRecognizer) 
    } 

    func swipedLeft(gesture: UIGestureRecognizer!) { 
     //Change picture here 
     imgArrow.image = UIImage(named: "myImage") 
    } 

Вы можете изменить направление или сделать то же самое для добавления нескольких направлений.

Затем вы должны убедиться, что вы вызываете команду addSwipeGesture при создании ячейки, вы можете сделать это в cellForRowAtIndexPath.

Надеюсь, это поможет!

Смежные вопросы