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];
  • 相关阅读:
    tar打包如何不打包某一个文件夹(排除某些文件夹)
    第一个SpringBoot应用
    Linux(以RHEL7为例)下添加工作区的方法|| The Way To Add Workspace On Linux
    Linux(以centos7为例)下自动挂载NTFS硬盘
    基于Moodle的IT课程辅助教育平台搭建
    搭建基于python +opencv+Beautifulsoup+Neurolab机器学习平台
    如何利用word2013写图文并茂的博客
    如何安装win10+Red Hat Enterprise Linux双系统?
    课堂练习:ex 4-20
    实验二 函数重载、函数模板、简单类的定义和实现
  • 原文地址:https://www.cnblogs.com/haibosoft/p/4181774.html
Copyright © 2011-2022 走看看