美文网首页
iOS-App登录界面常用API

iOS-App登录界面常用API

作者: 刘栋 | 来源:发表于2015-12-17 11:40 被阅读1259次
    [iOS 判断字符串中含有某个字符串 rangeOfString]
    
    //判断useTextFileld.text 是否含有txt 
    if([useTextFileld.text rangeOfString:@"txt"].location !=NSNotFound)
    //_roaldSearchText
     {
     NSLog(@"yes"); } else { NSLog(@"no"); }
    
    [键盘样式风格有关设置]
    
    一、键盘风格   
    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;
    开启安全输入主要是用于密码或一些私人数据的输入,此时会禁用自动更正和自此缓存
    
    [IOS开发之UIFont应用](http://blog.csdn.net/sanpintian/article/details/7397596)
    
    我们在开发中很多时候要设置UIlabel,UIbutton,UItextfield的字体,这个时候我们就需要用到UIFont,下面简单介绍一下UIFont的用法,仅供参考。
    
    UIFont用于获取和设置字体信息。这个类提供用于输出的字体的属性和字型信息。我们可以把其对象像参数一样传入函数中。
    一般而言我们不需要用alloc,int方法初始化UIFont对象,我们用UIFont大部分的时候是用其类方法,这些方法会设置对象的属性,且返回一个字体对象。
    
    例如:
    
        _centerLabel = [[UILabel alloc] initWithFrame:CGRectMake(115, 12, 85, 21)];
        _centerLabel.text = @"经销商查询";
        [_centerLabel setFont:[UIFont fontWithName:@"Helvetica" size:17.0]];
        [self.view addSubview:_centerLabel];
    
    下面两个函数创建字体:
    +fontWithName:(NSString *)fontName   size:(CGFloat) fontSize   创建并且返回一个指定字体类型和大小的字体对象,fontName指定字体集的名字和风格(例如宋体,楷书等这一类型的),fontsize设置字体的大小。
    -fontWithSize:返回字体的大小
    上面我们提到我们需要设置字体集,在IOS系统中我们用到的字体包含一下几种 :
    Font Family: American Typewriter( AmericanTypewriter,AmericanTypewriter-Bold)
    Font Family: AppleGothic(AppleGothic)
    Font Family: Arial(ArialMT,Arial-BoldMT,Arial-BoldItalicMT,Arial-ItalicMT)
    Font Family: Arial Rounded MT Bold(ArialRoundedMTBold)
    Font Family: Arial Unicode MS(ArialUnicodeMS)
    Font Family: Courier(Courier,Courier-BoldOblique,Courier-Oblique,Courier-Bold)
    Font Family: Courier New(CourierNewPS-BoldMT,CourierNewPS-ItalicMT,CourierNewPS-BoldItalicMT,CourierNewPSMT)
    Font Family: DB LCD Temp (DBLCDTempBlack)
    Font Family: Georgia( Georgia-Bold, Georgia,Georgia-BoldItalic,Georgia-Italic)
    Font Family: Helvetica(Helvetica-Oblique,Helvetica-BoldOblique,Helvetica,Helvetica-Bold)            默认字体Font Family: Helvetica Neue(HelveticaNeue,HelveticaNeue-Bold)Font Family: Hiragino Kaku Gothic **** W3(HiraKakuProN-W3)
    Font Family: Hiragino Kaku Gothic **** W6(HiraKakuProN-W6)
    Font Family: Marker Felt( MarkerFelt-Thin)
    Font Family: STHeiti J  (STHeitiJ-Medium,STHeitiJ-Light)
    Font Family: STHeiti K( STHeitiK-Medium, STHeitiK-Light)
    Font Family: STHeiti SC(STHeitiSC-Medium, STHeitiSC-Light)
    Font Family: STHeiti TC(STHeitiTC-Light,STHeitiTC-Medium)
    Font Family: Times New Roman(TimesNewRomanPSMT,TimesNewRomanPS-BoldMT, TimesNewRomanPS-BoldItalicMT, TimesNewRomanPS-ItalicMT)
    Font Family: Trebuchet MS( TrebuchetMS-Italic,TrebuchetMS,Trebuchet-BoldItalic,TrebuchetMS-Bold)Font Family: Verdana( Verdana-Bold,Verdana-BoldItalic, Verdana,Verdana-Italic)Font Family: Zapfino( Zapfino)
    
    + (UIFont *)systemFontOfSize:(CGFloat)fontSize    使用标准的接口返回指定大小的字体对象。
    + (CGFloat)systemFontSize    返回标准的系统字体大小。
    + (UIFont *)boldSystemFontOfSize:(CGFloat)fontSize   返回字体对象使用了标准接口来指定字体大小附加黑体风格。
    + (CGFloat)buttonFontSize 返回按钮使用标准字体。
    + (NSArray *)familyNames  返回系统可用字体集名称的数组。一个NSString型数组对象。每一个元素包含了字型集名称。字型集的名称相当于字型的基础名称。如 Times New Roman.你可以输入返回的字符串到 fontNamesForFamilyName: 方法来取得可用的字型集的名称。然後你可以用这些恰当的名称去取得字体对象。
    + (NSArray *)fontNamesForFamilyName:(NSString *)familyName                      )familyName字体集的名称。使用 familyNames 方法取得系统中的一个字体集的名称。
    
    //修改NavigationBar
    
      [[UINavigationBar appearance] setBarTintColor:[UIColor whiteColor]];
      [[UINavigationBar appearance] setTitleTextAttributes:
      [NSDictionary dictionaryWithObjectsAndKeys:[UIColor blackColor],
      NSForegroundColorAttributeName, 
      [UIFont fontWithName:@ "STHeiti TC" size:16.0], NSFontAttributeName, nil]];
    
    
    实现对textField输入到一定字符的时候Button变色
    
    Button变色.gif
    //用到监听文本框的方法
      [[NSNotificationCenter defaultCenter] addObserver:self 
    selector:@selector(registerTextFieldTextDidChangeNotification:) 
    name:UITextFieldTextDidChangeNotification object:nil];
    
    -(void)registerTextFieldTextDidChangeNotification:(NSNotification *)natification{
       
        
        if (self.textFieldRegister.text.length >= 11) {
            
        self.textFieldRegister.text = [NSString stringWithFormat:@"%@",[self.textFieldRegister.text  substringToIndex:11]];
        }
        
        if (self.textFieldRegister.text.length == 11) {
            
            self.buttonGain.backgroundColor = [UIColor colorWithRed:1.000 green:0.400 blue:0.400 alpha:1.000];
    
             [self.buttonGain addTarget:self action:@selector(handleSend:) forControlEvents:UIControlEventTouchUpInside];
        }
       
        else{
            self.buttonGain.backgroundColor = [UIColor colorWithRed:1.000 green:0.400 blue:0.400 alpha:0.3];
            [self.buttonGain removeTarget:self action:@selector(handleSend:) forControlEvents:UIControlEventTouchUpInside];
        }
        
    }
    
    
    [ios 限制只能输入字母和数字]
    
    //数字#define NUM @"0123456789"
    //字母#define ALPHA @"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"//数字和字母#define ALPHANUM @"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
    //UITextField代理方法
    - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{  
      NSCharacterSet *cs;
    //让哪个实现这个限制
           if (textField == self.textFieldRegister) {
            cs = [[NSCharacterSet characterSetWithCharactersInString:NUMBERS]invertedSet];
        }
        else{
            
             cs = [[NSCharacterSet characterSetWithCharactersInString:kAlphaNum]invertedSet];
            
        }
        
    NSString *filtered = [[string componentsSeparatedByCharactersInSet:cs]componentsJoinedByString:@""]; //按cs分离出数组,数组按@""分离出字符串
    
        BOOL canChange = [string isEqualToString:filtered];
    
        return canChange;
        
    }
    
    [触发键盘右下角的return的事件, 切换到下一个文本框]
    
    return触发事件.gif
    - (BOOL)textFieldShouldReturn:(UITextField *)textField
    {
    
        if (textField == self.textFieldUser) {
            [self.textFieldPassword becomeFirstResponder];
        }
        else if (textField == self.textFieldPassword){
            NSLog(@"GO");
        }
        
        return YES;
    }
    
    [改变self.navigationItem.rightBarButtonItem的字体颜色]
    
     [self.navigationItem.rightBarButtonItem setTintColor:[UIColor colorWithWhite:0.549 alpha:1.000]];
     
    
    定制文本框光标颜色
    
    _usernameTextField.tintColor = [UIColor greenColor];
    
    设置button背景图片的颜色
    
    [backButton setImage:[[UIImage imageNamed:@"back.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate] forState:UIControlStateNormal];
    backButton.imageView.tintColor = [UIColor blackColor];
    
    改变searchBar的背景图
    
     [_searchBar setSearchFieldBackgroundImage:
    [UIImage imageNamed:@"gray"] forState:UIControlStateNormal];
    
    更改NavigationBar下划线颜色
    
      if ([self.navigationController.navigationBar respondsToSelector:@selector( setBackgroundImage:forBarMetrics:)]){
            NSArray *list=self.navigationController.navigationBar.subviews;
            for (id obj in list) {
                if ([obj isKindOfClass:[UIImageView class]]) {
                    UIImageView *imageView=(UIImageView *)obj;
                    NSArray *list2=imageView.subviews;
                    for (id obj2 in list2) {
                        if ([obj2 isKindOfClass:[UIImageView class]]) {
                            UIImageView *imageView2=(UIImageView *)obj2;
                            imageView2.hidden=YES;
                        }
                    }
                }
            }
        }
    

    相关文章

      网友评论

          本文标题:iOS-App登录界面常用API

          本文链接:https://www.haomeiwen.com/subject/vckphttx.html