首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在viewWillDisappear上清除/清空粘贴板

如何在viewWillDisappear上清除/清空粘贴板
EN

Stack Overflow用户
提问于 2012-06-17 06:30:55
回答 3查看 9.3K关注 0票数 6

我使用UIPasteboard在两个UITextView之间复制/粘贴文本。

代码如下所示:

代码语言:javascript
复制
- (void)viewDidLoad {
   [super viewDidLoad];
   pasteBoard = [UIPasteboard generalPasteboard]; //it is declared in .h as UIPasteboard *pasteBoard;
}

-(IBAction)doCopyBtn {
    if (![toCopyTextView.text isEqualToString:@""]){
        pasteBoard.string = toCopyTextView.text;
        NSLog(@"pasteb1 %@", pasteBoard.string);
    } else {
        NSLog (@"error! enter smth");
    }
}

-(IBAction)doPasteBtn {
    if (![pasteBoard.string isEqualToString:@""]){ 
        toPasteTextView.text = pasteBoard.string;
        NSLog(@"pasteb2 %@", pasteBoard.string);
    } else {
        NSLog (@"error! enter smth");
    }
}

即使这样也无能为力(NSLog返回:pasteb2 (null))

代码语言:javascript
复制
-(void) viewWillDisappear:(BOOL)animated{
    [super viewWillDisappear:animated];
    [pasteBoard setString:@""]; 
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-06-26 23:53:03

iOS - UIPasteboard

尝试以下操作:

代码语言:javascript
复制
    UIPasteboard *pb = [UIPasteboard generalPasteboard];
    [pb setValue:@"" forPasteboardType:UIPasteboardNameGeneral];

阿拉伯极客的回答是正确的,但可用于Cocoa (我怀疑您正在寻找iOS解决方案)

票数 22
EN

Stack Overflow用户

发布于 2012-06-17 07:58:47

OS X- NSPasteboard

给你..。

代码语言:javascript
复制
NSPasteboard *pb = [NSPasteboard generalPasteboard];
[pb declareTypes: [NSArray arrayWithObject:NSStringPboardType] owner: self];
[pb setString: @"" forType: NSStringPboardType];
票数 3
EN

Stack Overflow用户

发布于 2015-08-28 00:39:33

将该值设置为""将返回用于所有预期目的的nil。但是,它将使粘贴板处于与粘贴操作之前略有不同的状态。

Swift

代码语言:javascript
复制
let pb = self.pasteBoard()
pb.setValue("", forPasteboardType: UIPasteboardNameGeneral)

...is不等同于UIPasteboard.removePasteboardWithName()。如果需要恢复UIPasteboard状态(1),您可以使用以下块:

Swift

代码语言:javascript
复制
let pb = self.pasteBoard()

let items:NSMutableArray = NSMutableArray(array: pb.items)
for object in pb.items {
    if let aDictionary = object as? NSDictionary {
        items.removeObject(aDictionary)
    }
}
pb.items = items as [AnyObject]

(1)恢复状态。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11067554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档