zoukankan      html  css  js  c++  java
  • IOS 访问系统粘贴板

        粘贴板提供了一种核心OS特性,用于跨应用程序共享数据。用户可以跨应用来复制粘贴,也可以设置只在本应用中复制粘贴用来保护隐私。

        UIPasteboard类允许访问共享的设备粘贴板以及内容,下面代码返回一般的系统粘贴板,它适合大多数一般的复制粘贴应用。

    UIPasteboard *pd = [UIPasteboard generalPasteboard];

        使用pasteboardWithUniqueName创建特定于应用程序的粘贴板,只有知道并且使用粘贴板名称键的应用程序能能够使用相同的粘贴板。

        使用pasteboardWithName:create:创建自定义的粘贴板,他返回一个具有指定名称的粘贴板。为粘贴板使用反向DNS命名方法。这种类型的粘贴板可以超越单个应用程序的运行而持续存在;可以再创建后把持久属性设置为YES。可以使用removePasteboardWithName:销毁粘贴板,并释放被他使用的资源。

        可以使用UTI指定粘贴板存储的是那种数据。

        可以给粘贴板发送pasteboardType消息,查询粘贴板的可用类型,这将返回一个数组:

    NSArray *types = [pb pasteboardTypes];

       可以在粘贴板上设置数据,并通过传递一个NSData对象和一个描述数据所顺应的类型的UTI

    [[UIPasteboard generalPasteboard] setData:theData forPasteboardType:theUTI];

    其实在程序开发中,很少用到粘贴板开发,主要是为用户简化操作,同时又准备好打算与其他应用程序共享的内容。

    下面的例子主要是显示当在textView中输入内容,粘贴板自动把输入内容放入粘贴板,可以通过textview的delegate方法(textViewDidChange:)来完成

    - (void) updatePasteboard
    {
        if (enableWatcher)
            [UIPasteboard generalPasteboard].string = textView.text;
    }
    
    - (void)textViewDidChange:(UITextView *)textView
    {
        [self updatePasteboard];
    }
    
    - (void) toggle: (UIBarButtonItem *) bbi
    {
        enableWatcher = !enableWatcher;
        bbi.title = enableWatcher ? @"Stop Watching" : @"Watch";
    }
    
    - (void) loadView
    {
        [super loadView];
        self.view.backgroundColor = [UIColor whiteColor];
        
        textView = [[UITextView alloc] initWithFrame:CGRectZero];
        textView.delegate = self;
        [self updatePasteboard];
        [self.view addSubview:textView];
  • 相关阅读:
    SP3946 MKTHNUM
    P1948 [USACO08JAN]电话线Telephone Lines(二分答案+最短路)
    CF375D Tree and Queries(dsu on tree)
    P2051 [AHOI2009]中国象棋(动态规划)
    P3810 【模板】三维偏序(陌上花开)(cdq分治)
    P4390 [BOI2007]Mokia 摩基亚(cdq分治)
    P2163 [SHOI2007]园丁的烦恼(cdq分治)
    UVA11270 Tiling Dominoes(轮廓线动态规划)
    P2475 [SCOI2008]斜堆(递归模拟)
    P2617 Dynamic Rankings(带修主席树)
  • 原文地址:https://www.cnblogs.com/haibosoft/p/4181774.html
Copyright © 2011-2022 走看看