Скопируйте функциональность в iOS с помощью UIPasteboard

 NSString *copyStringverse = [[NSString alloc] initWithFormat:@"%@",[textview.text]];
 UIPasteboard *pb = [UIPasteboard generalPasteboard];
 [pb setString:copyStringverse];

Я использую приведенный выше код для копирования содержимого в textview, но я хочу скопировать содержимое в ячейку таблицы. Как это сделать?


person stackiphone    schedule 15.01.2012    source источник
comment
Это дало мне идеальное решение для копирования/вставки из моего приложения - независимо от того, что вам нужно что-то немного другое. ваше здоровье!   -  person Dan Hanly    schedule 06.03.2013


Ответы (4)


Ну, вы не говорите точно, как у вас настроена ячейка табличного представления, но если это просто текст внутри вашего табличного представления, это может быть так же просто, как:

// provided you actually have your table view cell
NSString *copyStringverse = yourSelectedOrClickedTableViewCell.textLabel.text;
UIPasteboard *pb = [UIPasteboard generalPasteboard];
[pb setString:copyStringverse];
person Michael Dautermann    schedule 15.01.2012
comment
спасибо за ваш ответ, что такое yourSelectedOrClickedTableViewCell? имя таблицы? - person stackiphone; 15.01.2012
comment
@Micheal Dautermann, мне нужно поместить его внутрь кнопки, поэтому текстовая метка показывает ошибку - person stackiphone; 15.01.2012
comment
yourSelectedOrClickedTableViewCell это UITableViewCell. Вы должны выяснить, какая ячейка нажата. Я не знаю, как выглядит остальная часть вашего кода, поэтому я не знаю, как вы будете вызывать копирование, и я не смог придумать лучший пример кода. - person Michael Dautermann; 15.01.2012

Для Свифт 3.x

UIPasteboard.general.string = "String to copy"
person chrisamanse    schedule 03.12.2016

Для Swift 2.1+:

let cell = tableView.cellForRowAtIndexPath(indexPath) as! UITableViewCell // change this to your custom cell if you use one
UIPasteboard.generalPasteboard().string = cell.textLabel.text
person jaytrixz    schedule 01.02.2016

Для Swift2.2

UIPasteboard.generalPasteboard().string = tableViewCell.textLabel.text

Используя это, вы можете напрямую установить значение UIPasteboard.

person Ramakrishna    schedule 14.10.2016
comment
Имейте в виду, что в Swift 3 generalPasteboard() больше не существует. Вместо этого общий пользователь. - person PeterPan; 14.07.2017