当前位置:  编程技术>移动开发
本页文章导读:
    ▪公布应用-为发布编译        发布应用-为发布编译 我们从编写到发布应用会经历3个阶段:模拟器上运行调试、设备上运行调试和发布编译,苹果为了防止非法设备和非开发人员调试和发布应用,使用配置概要文件(Provi.........
    ▪ 键盘的有关设置(UITextfield)        键盘的相关设置(UITextfield) 一、键盘风格    UIKit框架支持8种风格键盘。 typedef enum {       UIKeyboardTypeDefault,                // 默认键盘:支持所有字符        UIKeyboardTypeASCI.........
    ▪ 代码写解压zip资料       代码写解压zip文件        最近项目中服务器方返回了zip文件类型的文件,在网上搜了好多资料做成一个Demo,这里用来详解一下。 ZipArchive类来源于网络。还望多多交流。 1、首先添加libz.dy.........

[1]公布应用-为发布编译
    来源: 互联网  发布时间: 2014-02-18
发布应用-为发布编译
我们从编写到发布应用会经历3个阶段:模拟器上运行调试、设备上运行调试和发布编译,苹果为了防止非法设备和非开发人员调试和发布应用,使用配置概要文件(Provisioning Profiles)控制在设备上运行调试和发布编译阶段,配置概要文件分为两种:开发配置概要文件和发布配置概要文件

1、创建发布配置概要文件

创建过程是先登录iOS开发中心的配置门户网站(iOS Provisioning Portal),通过左边的导航菜单Provisioning进入。选择Distribution标签就是管理发布配置概要文件的

点击New Profile可以进入创建页面。其中Distribution Method有两个选项:App Store和Ad Hoc。其中Ad Hoc是生成与设备关联的应用测试版本,供测试人员测试,因此它还属于测试。App Store是为发布创建的。

在Distribution Method中勾选App Store,Profile Name输入hello,在App ID中选择我们创建的hello。输入完成可以点击Submit提交表单。我们会看到添加的hello,刷新一些页面会看到hello处于活动状态,我们可以点击download按钮下载发布配置概要文件到本地。

2、发布编译

找到下载配置概要文件,文件名为“hello.mobileprovision”,双击会进入Xcode设备管理工具打开该文件,在这里可以管理配置概要文件。

然后使用Xcode打开需要编译的工程或工作空间,选择工程的TARGETS,选择Build Settings→Code Signing→ Code Signing Identity,这是选择代码签名标识(Code Signing Identity),把Release的代码签名标识选择为hello。

然后选择工具栏的Edit Scheme,打开编辑Scheme的对话框,选择左小角的“Duplicate Scheme”按钮,复制一份新的Scheme为HelloWorld 2。

复制完成后,在左上角的选择下拉框Scheme中选择HelloWorld2,然后在左边列表中Run HelloWorld.app,在右边选择Info标签,在Build Configuration中的下拉框中Release。操作点击顺序编号①~④所示。

配置完成之后我们选择Scheme HelloWorld 2中的iOS Deviec。选择好Scheme后选择菜单Product→Building for→Running,然后就可以编译了。

注意编译结果,如果有错误或警告必须要解决,忽略警告往往也会导致发布的失败,因此我们只有全部解决这些问题之后才能发布应用。

在发布编译成功后打开显示日志导航面板,我们会看到刚刚执行的Build HelloWorld 2 Scheme已经成功了


From http://iosbook1.com/?p=269

    
[2] 键盘的有关设置(UITextfield)
    来源: 互联网  发布时间: 2014-02-18
键盘的相关设置(UITextfield)

一、键盘风格   

UIKit框架支持8种风格键盘。

  • typedef enum {  
  •     UIKeyboardTypeDefault,                // 默认键盘:支持所有字符   
  •     UIKeyboardTypeASCIICapable,           // 支持ASCII的默认键盘   
  •     UIKeyboardTypeNumbersAndPunctuation,  // 标准电话键盘,支持+*#等符号   
  •     UIKeyboardTypeURL,                    // URL键盘,有.com按钮;只支持URL字符   
  •     UIKeyboardTypeNumberPad,              //数字键盘   
  •     UIKeyboardTypePhonePad,               // 电话键盘   
  •     UIKeyboardTypeNamePhonePad,           // 电话键盘,也支持输入人名字   
  •     UIKeyboardTypeEmailAddress,           // 用于输入电子邮件地址的键盘   
  • } UIKeyboardType;  
  • 用法用例:

    textView.keyboardtype = UIKeyboardTypeNumberPad;

    二、键盘外观

  • typedef enum {  
  •     UIKeyboardAppearanceDefault,    // 默认外观:浅灰色   
  •     UIKeyboardAppearanceAlert,      //深灰/石墨色   
  • } UIKeyboardAppearance;  
  • 用法用例:

    textView.keyboardAppearance=UIKeyboardAppearanceDefault;

    三、回车键

  • typedef enum {  
  •     UIReturnKeyDefault,  //默认:灰色按钮,标有Return
  •     UIReturnKeyGo,  //标有Go的蓝色按钮
  •     UIReturnKeyGoogle,  //标有Google的蓝色按钮,用于搜索
  •     UIReturnKeyJoin,  //标有Join的蓝色按钮
  •     UIReturnKeyNext,  //标有Next的蓝色按钮
  •     UIReturnKeyRoute,  //标有Route的蓝色按钮
  •     UIReturnKeySearch,  //标有Search的蓝色按钮
  •     UIReturnKeySend,  //标有Send的蓝色按钮
  •     UIReturnKeyYahoo,  //标有Yahoo!的蓝色按钮,用于搜索
  •     UIReturnKeyDone,  //标有Done的蓝色按钮
  •     UIReturnKeyEmergencyCall,  //紧急呼叫按钮
  • } UIReturnKeyType;  
  • 用法用例:

    textView.returnKeyType=UIReturnKeyGo;

    四、自动大写

  • typedef enum {  
  •     UITextAutocapitalizationTypeNone, //不自动大写   
  •     UITextAutocapitalizationTypeWords, //单词首字母大写   
  •     UITextAutocapitalizationTypeSentences, //句子首字母大写   
  •     UITextAutocapitalizationTypeAllCharacters, //所有字母大写   
  • } UITextAutocapitalizationType;  
  • 用法用例:

    textField.autocapitalizationType = UITextAutocapitalizationTypeWords;

    五、自动更正

  • typedef enum {  
  •     UITextAutocorrectionTypeDefault,//默认   
  •     UITextAutocorrectionTypeNo,//不自动更正   
  •     UITextAutocorrectionTypeYes,//自动更正   
  • } UITextAutocorrectionType;  
  • 用法用例:

    textField.autocorrectionType = UITextAutocorrectionTypeYes;

    六、安全文本输入

    textView.secureTextEntry=YES;

    开启安全输入主要是用于密码或一些私人数据的输入,此时会禁用自动更正和自此缓存。

     

    统计字符和响应RETURN键

    统计字符:

    1、UITextView

    - (void)textViewDidChange:(UITextView *)textView
    {
        int count = [textView.text length];
        //这里的count就是字符个数了}
    

    2、UITextField

    方法一:

    自己先为UITextField的Editing Changed事件添加一个响应方法

    -(IBAction)valuechange//m_TextField是UITextField的一个IBOutlet{
         int count = [m_TextField.text length];
         //count就是当前的字符个数
        //下边是将字符限制在140以内    if ([m_TextField.text length]>140) {
            [m_TextField setText:[m_TextField.text substringToIndex:140]];//多出140时,只取前140个字符    }
    }
    

    方法二:

    在代理方法:- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string,判断range.length的值来判断输入的是回格还是其它字符

     

    响应Return键:

    1、UITextView

    //代理方法

    - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
    {
        if (1 == range.length) {//按下回格键        return YES;
        }
        if ([text isEqualToString:@"\n"]) {//按下return键
            //这里隐藏键盘,不做任何处理        [textView resignFirstResponder];
            return NO;
        }else {
            if ([textView.text length] < 140) {//判断字符个数            return YES;
            }  
        }
        return NO;
    }
    

    2、UITextField

    这个直接有代理方法哈

    - (BOOL)textFieldShouldReturn:(UITextField *)textField
    

     

    UITextField进入编辑状态 获得焦点 becomeFirstResponder

     关闭键盘 resignFirstResponder

     

    http://blog.sina.com.cn/s/blog_7018d3820101djut.html


        
    [3] 代码写解压zip资料
        来源: 互联网  发布时间: 2014-02-18
    代码写解压zip文件
            最近项目中服务器方返回了zip文件类型的文件,在网上搜了好多资料做成一个Demo,这里用来详解一下。

    ZipArchive类来源于网络。还望多多交流。


    1、首先添加libz.dylib框架

    2、前往http://code.google.com/p/ziparchive/downloads/list下载所需要的第三方文件,并将其导入到项目中。

    3、代码:


        ZipArchive* zip = [[ZipArchive alloc] init];

        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

        NSString *dcoumentpath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;

        //获取解压缩文件

        NSString* l_zipfile = [dcoumentpath stringByAppendingString:[NSString stringWithFormat:@"/%@",ZipName]] ;

        //获取路径  aaa.zip  压缩包解压缩后会出现  aaa  文件夹  去aaa文件夹中取文档和子文件夹里面的文档

        NSArray *arr = [ZipName componentsSeparatedByString:@"."];

        NSString* unzipto = [dcoumentpath stringByAppendingString:[NSString stringWithFormat:@"/%@",[arr objectAtIndex:0]]] ;

        

        NSString *str = [[NSString alloc] init];

        str = unzipto;

        if( [zip UnzipOpenFile:l_zipfile] ) {

            BOOL ret = [zip UnzipFileTo:unzipto overWrite:YES];

            if( NO==ret ) { }

            [zip UnzipCloseFile];

        }

        [zip release];

        

        

        //解压缩后或多处一个   __MACOSX 文件夹   做删除操作

        NSFileManager *fileManager = [NSFileManager defaultManager];

        NSString *strpath = [unzipto stringByAppendingFormat:@"/__MACOSX"];

        [fileManager removeItemAtPath:strpath error:nil];

        


        NSFileManager *myFileManager=[NSFileManager defaultManager];

        NSDirectoryEnumerator *myDirectoryEnumerator = [myFileManager enumeratorAtPath:unzipto];

           

        //列举目录内容

        while((unzipto=[myDirectoryEnumerator nextObject])!=nil)

        {

            NSLog(@"%@",unzipto);

            //获取子文件夹路径

            NSString *str_path = [str stringByAppendingFormat:@"/%@",unzipto];

            if ([self isPathorFile:str_path]) {

                NSLog(@"目录");

            }else{

                NSLog(@"文件");

            }

        }

        [str release];

        

        

    /**

     * @brief 判断一个路径是文件还是文件夹

     *

     * @param path 路径

     *

     * @return 返回BOOL值

     */

    -(BOOL)isPathorFile:(NSString *)path

    {

        BOOL isDir;

        NSString *documentsDir = path;

        if ([[NSFileManager defaultManager] fileExistsAtPath:documentsDir isDirectory:&isDir] && isDir) {

            NSLog(@"directory");

            isDir = YES;

        }else{

            NSLog(@"file");

            isDir = NO;

        }

        return isDir;

    }





    Demo下载地址:http://download.csdn.net/detail/zgcrichard/6234705。


        
    最新技术文章:
    ▪Android开发之登录验证实例教程
    ▪Android开发之注册登录方法示例
    ▪Android获取手机SIM卡运营商信息的方法
    ▪Android实现将已发送的短信写入短信数据库的...
    ▪Android发送短信功能代码
    ▪Android根据电话号码获得联系人头像实例代码
    ▪Android中GPS定位的用法实例
    ▪Android实现退出时关闭所有Activity的方法
    ▪Android实现文件的分割和组装
    ▪Android录音应用实例教程
    ▪Android双击返回键退出程序的实现方法
    ▪Android实现侦听电池状态显示、电量及充电动...
    ▪Android获取当前已连接的wifi信号强度的方法
    ▪Android实现动态显示或隐藏密码输入框的内容
    ▪根据USER-AGENT判断手机类型并跳转到相应的app...
    ▪Android Touch事件分发过程详解
    ▪Android中实现为TextView添加多个可点击的文本
    ▪Android程序设计之AIDL实例详解
    ▪Android显式启动与隐式启动Activity的区别介绍
    ▪Android按钮单击事件的四种常用写法总结
    ▪Android消息处理机制Looper和Handler详解
    ▪Android实现Back功能代码片段总结
    ▪Android实用的代码片段 常用代码总结
    ▪Android实现弹出键盘的方法
    ▪Android中通过view方式获取当前Activity的屏幕截...
    ▪Android提高之自定义Menu(TabMenu)实现方法
    ▪Android提高之多方向抽屉实现方法
    ▪Android提高之MediaPlayer播放网络音频的实现方法...
    ▪Android提高之MediaPlayer播放网络视频的实现方法...
    ▪Android提高之手游转电视游戏的模拟操控
     


    站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3