带图像的UITableViewRowAction,swift

时间:2016-03-30 17:29:33

标签: swift uitableview ios8 uitableviewrowaction

在我的应用中,我想将UITableViewRowAction用于图片而不是标题文字。我使用以下方式设置背景图片:

let edit = UITableViewRowAction(style: .Normal, title: "Edit") { action, index in
  self.indexPath = indexPath
  self.performSegueWithIdentifier("toEdit", sender: self)
}
edit.backgroundColor = UIColor(patternImage: UIImage(named: "edit")!)

然而,图像多次出现。

enter image description here

如何解决此问题,只有一行图片?

2 个答案:

答案 0 :(得分:1)

问题是用作图案的图像不适合空间,它将被重复以填充它。 获得非重复图像的一个选择是

  • 使用固定高度的UITableViewCell
  • 使用适合该高度的图像

答案 1 :(得分:0)

我写了一个jQuery.fn.dataTable.Api.register('page.jumpToData()', function(data, column) { var pos = this.column(column, { order: 'current' }).data().indexOf(data); if (pos >= 0) { var page = Math.floor(pos / this.page.info().length); //alert("pos: " + pos); this.page(page).draw(false); } return this; }); $(document).ready(function() { GetNumber.num = 0; var table = $('#UsersTable').DataTable({ select: { style: 'single', info: false } }); $('#btn').click(function() { var GUID = GenGuid(); var name = 'name-' + GetNumber(); var rowAdded = table.row.add([ GUID, name ]).draw(); table.$('tr.selected').removeClass('selected'); rowAdded.nodes().to$().addClass('selected'); table.page.jumpToData(GUID, 0); var info = table.page.info(); $('#lbl').text('row ' + "\"" + name + "\"" + ' page(index): ' + info.page + ', row(index): ' + table.$('tr.selected').index()); }); $('#UsersTable tbody').on('click', 'tr', function() { table.$('tr.selected').removeClass('selected'); $(this).addClass('selected'); }); function GenGuid() { var d = new Date().getTime(); if (typeof performance !== 'undefined' && typeof performance.now === 'function') { d += performance.now(); //use high-precision timer if available } return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { var r = (d + Math.random() * 16) % 16 | 0; d = Math.floor(d / 16); return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16); }); } function GetNumber() { return ++GetNumber.num; } }); 的子类来帮助你计算标题的长度,你只需要传递rowAction和图像的大小。

UITableViewRowAction

您可以查看我的项目:CustomSwipeCell了解更多详情。