iOS - UITextField

前言

    NS_CLASS_AVAILABLE_IOS(2_0) @interface UITextField : UIControl <UITextInput, NSCoding>@available(iOS 2.0, *)       public class UITextField : UIControl, UITextInput, NSCoding

1、UITextField 的创建

  • Objective-C

        // 实例化 UITextField 对象UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(20, 100, 200, 30)];// 将 textField 加到 window 上显示出来[self.view addSubview:textField];
  • Swift

        // 实例化 UITextField 对象let textField:UITextField = UITextField(frame: CGRectMake(20, 100, 200, 30))// 将 textField 加到 window 上显示出来  self.view.addSubview(textField)

2、UITextField 的设置

  • Objective-C

        // 设置边框样式/*UITextBorderStyleNone,                     无边框,默认UITextBorderStyleLine,                     直线边框UITextBorderStyleBezel,                    边框 + 阴影UITextBorderStyleRoundedRect               圆角矩形边框*/textField.borderStyle = UITextBorderStyleLine;// 设置背景颜色/*默认是透明的*/textField.backgroundColor = [UIColor yellowColor];// 设置背景图片textField.background = [UIImage imageNamed:@"pic2"];// 设置提示文字/*用户输入时自动消失*/textField.placeholder = @"请输入用户名";// 设置输入的字体颜色textField.textColor = [UIColor redColor];// 设置文字对齐方式textField.textAlignment = NSTextAlignmentLeft;// 设置最小可缩小的字号textField.minimumFontSize = 10;// 自动调整文字大小/*自动调整文字的大小以适应 textField 的宽度*/textField.adjustsFontSizeToFitWidth = YES;// 设置密文输入模式/*default is NO*/textField.secureTextEntry = YES;// 设置显示清除按钮    /*UITextFieldViewModeNever,            // defaultUITextFieldViewModeWhileEditing,UITextFieldViewModeUnlessEditing,UITextFieldViewModeAlways*/textField.clearButtonMode = UITextFieldViewModeWhileEditing;// 设置键盘样式/*UIKeyboardTypeDefault,                 // Default type for the current input method.UIKeyboardTypeASCIICapable,            // Displays a keyboard which can enter ASCII characters,// non-ASCII keyboards remain activeUIKeyboardTypeNumbersAndPunctuation,   // Numbers and assorted punctuation.UIKeyboardTypeURL,                     // A type optimized for URL entry.UIKeyboardTypeNumberPad,               // A number pad (0-9). Suitable for PIN entry.UIKeyboardTypePhonePad,                // A phone pad (1-9, *, 0, #, with letters under the numbers).UIKeyboardTypeNamePhonePad,            // A type optimized for entering a person's name or phone number.UIKeyboardTypeEmailAddress,            // A type optimized for multiple email address entry.UIKeyboardTypeDecimalPad,              // A number pad with a decimal point.UIKeyboardTypeTwitter,                 // A type optimized for twitter text entry (easy access to @ #)UIKeyboardTypeWebSearch,               // A default keyboard type with URL-oriented addition.UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable,      // Deprecated*/textField.keyboardType = UIKeyboardTypeDefault;// 设置返回键样式/*UIReturnKeyDefault,UIReturnKeyGo,UIReturnKeyGoogle,UIReturnKeyJoin,UIReturnKeyNext,UIReturnKeyRoute,UIReturnKeySearch,UIReturnKeySend,UIReturnKeyYahoo,UIReturnKeyDone,UIReturnKeyEmergencyCall,UIReturnKeyContinue NS_ENUM_AVAILABLE_IOS(9_0),*/textField.returnKeyType = UIReturnKeyJoin;// 设置输入的字母大小写模式/*UITextAutocapitalizationTypeNone,UITextAutocapitalizationTypeWords,UITextAutocapitalizationTypeSentences,UITextAutocapitalizationTypeAllCharacters,*/textField.autocapitalizationType = UITextAutocapitalizationTypeWords;// 设置左右视图显示模式/*不设置模式,左右视图显示不出来UITextFieldViewModeNever,UITextFieldViewModeWhileEditing,UITextFieldViewModeUnlessEditing,UITextFieldViewModeAlways*/textField.leftViewMode = UITextFieldViewModeAlways;textField.rightViewMode = UITextFieldViewModeAlways;// 设置左右视图textField.leftView = label1;textField.rightView = label2;// 让 textField 获取第一响应/*打开应用程序或界面时直接弹出键盘*/[textField becomeFirstResponder];// 让 textField 放弃第一响应/*收起键盘*/[textField resignFirstResponder]; // 设置 textField 的代理,需遵守协议 <UITextFieldDelegate>textField.delegate = self;
  • Swift

        // 设置边框样式/*case None                       无边框,默认case Line                       直线边框case Bezel                      边框 + 阴影case RoundedRect                圆角矩形边框*/textField.borderStyle = .Line// 设置背景颜色/*默认是透明的*/textField.backgroundColor = UIColor.yellowColor()// 设置背景图片textField.background = UIImage(named: "pic2")// 设置提示文字/*用户输入时自动消失*/textField.placeholder = "请输入用户名"// 设置输入的字体颜色textField.textColor = UIColor.redColor()// 设置文字对齐方式textField.textAlignment = NSTextAlignment.Left// 设置最小可缩小的字号textField.minimumFontSize = 10// 自动调整文字大小/*自动调整文字的大小以适应 textField 的宽度*/textField.adjustsFontSizeToFitWidth = true// 设置密文输入模式/*default is NO*/textField.secureTextEntry = true// 设置显示清除按钮/*case Never                // defaultcase WhileEditingcase UnlessEditingcase Always*/textField.clearButtonMode = .WhileEditing// 设置键盘样式/*case Default         // Default type for the current input method.case ASCIICapable    // Displays a keyboard which can enter ASCII characters, // non-ASCII keyboards remain activecase NumbersAndPunctuation  // Numbers and assorted punctuation.case URL             // A type optimized for URL entry.case NumberPad       // A number pad (0-9). Suitable for PIN entry.case PhonePad        // A phone pad (1-9, *, 0, #, with letters under the numbers).case NamePhonePad    // A type optimized for entering a person's name or phone number.case EmailAddress    // A type optimized for multiple email address entry.case DecimalPad      // A number pad with a decimal point.case Twitter         // A type optimized for twitter text entry (easy access to @ #)case WebSearch       // A default keyboard type with URL-oriented addition.public static var Alphabet: UIKeyboardType { get } // Deprecated*/textField.keyboardType = .Default// 设置返回键样式/*case Defaultcase Gocase Googlecase Joincase Nextcase Routecase Searchcase Sendcase Yahoocase Donecase EmergencyCallcase Continue*/textField.returnKeyType = .Join// 设置输入的字母大小写模式/*case Nonecase Wordscase Sentencescase AllCharacters*/textField.autocapitalizationType = .Words// 设置左右视图显示模式/*不设置模式,左右视图显示不出来case Nevercase WhileEditingcase UnlessEditingcase Always*/textField.leftViewMode = .AlwaystextField.rightViewMode = .Always// 设置左右视图textField.leftView = label1textField.rightView = label2// 让 textField 获取第一响应/*打开应用程序或界面时直接弹出键盘*/textField.becomeFirstResponder()// 让 textField 放弃第一响应/*收起键盘*/textField.resignFirstResponder()// 设置 textField 的代理,需遵守协议 UITextFieldDelegatetextField.delegate = self

3、textField 协议方法

  • 协议方法,需遵守协议 UITextFieldDelegate,并设置代理

  • Objective-C

        // 将要开始编辑,编辑开始前被调用- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {return YES;}// 已经开始编辑,编辑开始后被调用,可监听键盘的弹出- (void)textFieldDidBeginEditing:(UITextField *)textField {}// 将要结束编辑,编辑结束前被调用- (BOOL)textFieldShouldEndEditing:(UITextField *)textField {return YES;}// 已经结束编辑,编辑结束后被调用,可监听键盘的回收- (void)textFieldDidEndEditing:(UITextField *)textField {// 输出 textfield 中输入的内容NSLog(@"您输入的内容为:%@", textField.text);}// 是否允许文本修改,文本修改前被调用/*NO 不允许输入,YES 允许输入(默认)range:光标范围string:当前输入的内容*/- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {return YES;}// 返回,键盘上的 return 键触摸后调用- (BOOL)textFieldShouldReturn:(UITextField *)textField {return YES;}// 清空,文本输入框中清除按钮被触摸时调用- (BOOL)textFieldShouldClear:(UITextField *)textField {return YES;}
  • Swift

        // 将要开始编辑,编辑开始前被调用func textFieldShouldBeginEditing(textField: UITextField) -> Bool {return true}// 已经开始编辑,编辑开始后被调用,可监听键盘的弹出func textFieldDidBeginEditing(textField: UITextField) {}// 将要结束编辑,编辑结束前被调用func textFieldShouldEndEditing(textField: UITextField) -> Bool {return true}// 已经结束编辑,编辑结束后被调用,可监听键盘的回收func textFieldDidEndEditing(textField: UITextField) {// 输出 textfield 中输入的内容print("您输入的内容为:\(textField.text)")                                                              }// 是否允许文本修改,文本修改前被调用/*false 不允许输入,true 允许输入(默认)range:光标范围string:当前输入的内容*/func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {return true}// 返回,键盘上的 return 键触摸后调用func textFieldShouldReturn(textField: UITextField) -> Bool {return true}// 清空,文本输入框中清除按钮被触摸时调用func textFieldShouldClear(textField: UITextField) -> Bool {return true}

4、textField 的键盘回收

  • Objective-C

    • 触摸手势回收

      • 用触摸手势或表格滚动方式回收键盘,触摸界面或滚动表格视图时键盘消失
          // 单一 textField 回收键盘// 让 textField 放弃第一响应,收起键盘[textField resignFirstResponder];// 所有 textField 都回收键盘[self.view endEditing:YES];
    • return 键回收

      • 用代理方式回收键盘(键盘上的 return 键回收键盘),需遵守协议 UITextFieldDelegate,并设置代理
          // 设置 textField 的代理textField1.delegate = self;textField2.delegate = self;// UITextFieldDelegate 协议方法返回,键盘上的 return 键点击后调用 - (BOOL)textFieldShouldReturn:(UITextField *)textField {UITextField *textField_1 = (id)[self.view viewWithTag:200];UITextField *textField_2 = (id)[self.view viewWithTag:300];if (textField == textField_1) {// 让 textField_2 获取第一响应// 点击 textfield_1 上的 return 键时,输入光标自动跳转到 textfield_2 内[textField_2 becomeFirstResponder];}else{// 让 textField_2 放弃第一响应// 点击 textfield_2 上的 return 键时,键盘回收[textField_2 resignFirstResponder];}return YES;}
  • Swift

    • 触摸手势回收

      • 用触摸手势或表格滚动方式回收键盘,触摸界面或滚动表格视图时键盘消失
          // 单一 textField 回收键盘// 让 textField 放弃第一响应,收起键盘textField.resignFirstResponder()// 所有 textField 都回收键盘self.view.endEditing(true)
    • return 键回收

      • 用代理方式回收键盘(键盘上的 return 键回收键盘),需遵守协议 UITextFieldDelegate,并设置代理
          // 设置 textField 的代理textField1.delegate = selftextField2.delegate = self// UITextFieldDelegate 协议方法返回,键盘上的 return 键点击后调用func textFieldShouldReturn(textField: UITextField) -> Bool {let textField_1:UITextField = self.view.viewWithTag(200) as! UITextFieldlet textField_2:UITextField = self.view.viewWithTag(300) as! UITextFieldif textField == textField_1 {// 让 textField_2 获取第一响应// 点击 textfield_1 上的 return 键时,输入光标自动跳转到 textfield_2 内textField_2.becomeFirstResponder()}else{// 让 textField_2 放弃第一响应,点击 textfield_2 上的 return 键时,键盘回收textField_2.resignFirstResponder()}return true}

5、textField 视图的上升/下降

  • Objective-C

    • 用系统观察者控制

      • 可以获取到键盘的高度和键盘弹起和隐藏的时间

      • 多个观察者

            // 添加系统通知观察者(检测键盘的显示与隐藏)// 检测键盘的弹起[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardShow:) name:UIKeyboardWillShowNotification object:nil];// 检测键盘的隐藏   [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardHide:) name:UIKeyboardWillHideNotification object:nil];// 键盘弹起事件处理- (void)keyboardShow:(NSNotification *)notification {// 取出键盘最终的高度CGFloat keyboardHeight = [notification.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue].size.height;// 取出键盘弹出需要花费的时间double duration = [notification.userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue];// 设置当前视图的 frameCGRect frame = self.view.frame;frame.origin.y = -keyboardHeight;[UIView animateWithDuration:duration animations:^{self.view.frame = frame;}];}// 键盘隐藏事件处理- (void)keyboardHide:(NSNotification *)notification {// 取出键盘弹出需要花费的时间double duration = [notification.userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue];// 设置当前视图的 frameCGRect frame = self.view.frame;frame.origin.y = 0;[UIView animateWithDuration:duration animations:^{self.view.frame = frame;}];}
      • 单一观察者

            // 添加系统通知观察者(检测键盘的 frame 改变)[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillChangeFrame:) name:UIKeyboardWillChangeFrameNotification object:nil];// 键盘弹起隐藏事件处理- (void)keyboardWillChangeFrame:(NSNotification *)notification {// 取出键盘最终的 frameCGRect rect = [notification.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];// 取出键盘弹出需要花费的时间double duration = [notification.userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue];// 设置当前视图的 frameCGRect frame = self.view.frame;frame.origin.y = -([UIScreen mainScreen].bounds.size.height - rect.origin.y);[UIView animateWithDuration:duration animations:^{self.view.frame = frame;}];}
      • 视图上升或下降处理

        • 设置 frame

              CGRect frame = self.view.frame;frame.origin.y = -keyboardHeight;[UIView animateWithDuration:duration animations:^{self.view.frame = frame;}];
        • 设置 约束值

              self.bottomSpacing.constant = rect.size.height;[UIView animateWithDuration:duration animations:^{[self.view layoutIfNeeded];}];
        • 设置 transform 属性

              [UIView animateWithDuration:duration animations:^{CGFloat ty = [UIScreen mainScreen].bounds.size.height - rect.origin.y;self.view.transform = CGAffineTransformMakeTranslation(0, -ty);}];
    • 用协议方法控制

          // 开始编辑- (void)textFieldDidBeginEditing:(UITextField *)textField {// 获取当前视图的 frameCGRect frame = self.view.frame;frame.origin.y = -53;[UIView animateWithDuration:0.5 animations:^{self.view.frame = frame;}];}// 结束编辑- (void)textFieldDidEndEditing:(UITextField *)textField {CGRect frame = self.view.frame;frame.origin.y = 0;[UIView animateWithDuration:0.5 animations:^{self.view.frame = frame;}];}
  • Swift

    • 用系统观察者控制

      • 可以获取到键盘的高度和键盘弹起和隐藏的时间

      • 多个观察者

            // 添加系统通知观察者(检测键盘的显示与隐藏)// 检测键盘的弹起NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(UiTextField.keyboardShow(_:)), name: UIKeyboardWillShowNotification, object: nil)// 检测键盘的隐藏NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(UiTextField.keyboardHide(_:)), name: UIKeyboardWillHideNotification, object: nil)// 键盘弹起事件处理func keyboardShow(notification:NSNotification) {// 取出键盘最终的高度let keyboardHeight:CGFloat = (notification.userInfo![UIKeyboardFrameEndUserInfoKey]?.CGRectValue().size.height)!// 取出键盘弹出需要花费的时间let duration:Double = notification.userInfo![UIKeyboardAnimationDurationUserInfoKey]!.doubleValue// 设置当前视图的 framevar frame:CGRect = self.view.frameframe.origin.y = -keyboardHeightUIView.animateWithDuration(duration) {self.view.frame = frame}}// 键盘隐藏事件处理func keyboardHide(notification:NSNotification) {// 取出键盘弹出需要花费的时间let duration:Double = notification.userInfo![UIKeyboardAnimationDurationUserInfoKey]!.doubleValue// 设置当前视图的 framevar frame:CGRect = self.view.frameframe.origin.y = 0UIView.animateWithDuration(duration) {self.view.frame = frame}}
      • 单一观察者

            // 添加系统通知观察者(检测键盘的 frame 改变)NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(UiTextField.keyboardWillChangeFrame(_:)), name: UIKeyboardWillChangeFrameNotification, object: nil)// 键盘弹起隐藏事件处理func keyboardWillChangeFrame(notification:NSNotification) {// 取出键盘最终的高度let rect:CGRect = (notification.userInfo![UIKeyboardFrameEndUserInfoKey]?.CGRectValue())!// 取出键盘弹出需要花费的时间let duration:Double = notification.userInfo![UIKeyboardAnimationDurationUserInfoKey]!.doubleValue// 设置当前视图的 framevar frame:CGRect = self.view.frameframe.origin.y = -(UIScreen.mainScreen().bounds.size.height - rect.origin.y)UIView.animateWithDuration(duration) {self.view.frame = frame}}
      • 视图上升或下降处理

        • 设置 frame

              var frame:CGRect = self.view.frameframe.origin.y = -keyboardHeightUIView.animateWithDuration(duration) {self.view.frame = frame}
        • 设置 约束值

              self.bottomSpacing.constant = rect.size.heightUIView.animateWithDuration(duration) {self.view.layoutIfNeeded()}
        • 设置 transform 属性

              UIView.animateWithDuration(duration) { let ty:CGFloat = UIScreen.mainScreen().bounds.size.height - rect.origin.yself.view.transform = CGAffineTransformMakeTranslation(0, -ty)}
    • 用协议方法控制

          // 开始编辑func textFieldDidBeginEditing(textField: UITextField) {// 获取当前视图的 framevar frame:CGRect = self.view.frameframe.origin.y = -53UIView.animateWithDuration(0.5) {self.view.frame = frame}}// 结束编辑func textFieldDidEndEditing(textField: UITextField) {var frame:CGRect = self.view.frameframe.origin.y = 0UIView.animateWithDuration(0.5) {self.view.frame = frame}}

6、计算键盘高度

  • 不同型号的 iOS 设备的键盘尺寸:

     Type          | iPhone 6(s) Plus |  iPhone 6(s) |  iPhone 5(s/c)/4(s)/SE

    ------------------------|:----------------:|:------------:|:-----------------------:
    Default | | |
    ASCIICapable | | |
    NumbersAndPunctuation | | |
    URL | 271 | 258 | 253
    EmailAddress | | |
    Twitter | | |
    WebSearch | | |
    Alphabet | | |
    ------------------------|------------------|--------------|-------------------------
    NumberPad | | |
    PhonePad | 226 | 216 | 216
    NamePhonePad | | |
    DecimalPad | | |

  • Objective-C

        // 在系统观察者响应方法中,获取观察的信息NSDictionary *userInfo = notification.userInfo;CGFloat keyboardHeight = [userInfo[@"UIKeyboardFrameEndUserInfoKey"] CGRectValue].size.height;
  • Swift

        // 在系统观察者响应方法中,获取观察的信息let userInfo = notification.userInfo!let keyboardHeight = userInfo["UIKeyboardFrameEndUserInfoKey"]?.CGRectValue().size.height

7、Storyboard 中设置

  • 在 Storyboard 场景中设置

    • Text Field 设置

      TextField1

      Text                         |  文字类型及文字

      -------------------------------|-------------------
      Color | 文字颜色
      Font | 文字字体
      Alignment | 文字对齐方式
      Placeholder | 占位文字
      |
      Background | 背景图片
      Disabled | 无效状态背景图片
      |
      Border Style | 边框类型
      |
      Clear Button | 清除按钮显示时间
      -- Clear when editing begins | 开始编辑时显示清楚按钮
      |
      Min Font Size | 最小字体大小
      -- Adjust to Fit | 自动调整文字大小
      |
      Capitalization | 大小写模式
      Correction | 自动纠正
      Spell Checking | 拼写检查
      Keyboard Type | 键盘样式
      Appearance |
      Return Key | 返回键样式
      -- Auto-enable Return Key | 自动使能返回键
      -- Secure Text Entry | 密文输入

    • Control 设置

      TextField1

      Alignment                    |  文字对齐方式

      -------------------------------|-------------------
      Content |
      -- Selected | 选中
      -- Enable | 可用
      -- Highlighted | 高亮

转载于:https://www.cnblogs.com/QianChia/p/5754504.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/573284.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信php翻译和天气预报整合,微信公众平台天气预报功能开发

本来是想自己直接从中国天气网获取信息并处理&#xff0c;后来发现处理起来太麻烦&#xff0c;而且要获取所有城市的城市编码&#xff0c;再有就是&#xff01;不支持国外天气&#xff01;&#xff01;(我们学校有很多毕业生在国外上学&#xff0c;所以我考虑还是做出支持国外天…

关于Jenkins找不到依赖Jar包问题

昨晚在Jenkins发布时遇到一个Jar包找不到的问题&#xff0c;控制台的报错信息如下&#xff1a; 说白了就是找不到依赖的Jar包&#xff0c;但是当我们回退到灰度的时候发现灰度的环境是构建是没有问题的&#xff0c;为什么同一套代码在两个环境却有天壤之别呢&#xff0c;本着试…

VBS基础篇 - Dictionary对象

VBS基础篇 - Dictionary对象 Dictionary是存储数据键和项目对的对象&#xff0c;其主要属性有Count、Item、Key&#xff0c;主要方法有Add、Exists、Items、Keys、Remove、RemoveAll。 建立字典 Dim Dict : Set Dict CreateObject("Scripting.Dictionary")添加键值对…

linux编译mesa,如何在Ubuntu 16.04,17.10中安装Mesa 17.3.3

最新的MESA 3D图形库17.3.3现在在Ubuntu-X team PPA存储库中为Ubuntu 16.04和Ubuntu 17.10提供。Mesa 17.3.3实现了OpenGL 4.5 API&#xff0c;但由glGetString(GL_VERSION)或glGetIntegerv(GL_MAJOR_VERSION)/glGetIntegerv(GL_MINOR_VERSION)报告的版本取决于所使用的特定驱动…

iOS开发Swift篇—(三)字符串和数据类型

一、字符串 字符串是String类型的数据&#xff0c;用双引号""包住文字内容 let website "http://www.github.com" 1.字符串的常见操作 &#xff08;1&#xff09;用加号 做字符串拼接 let scheme "http://" let path “www.github.com” le…

linux查看xml文件的配置,3、kvm虚拟机日常管理与配置

KVM虚拟机的管理主要是通过virsh命令对虚拟机进行管理。1. 查看KVM虚拟机配置文件及运行状态(1) KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/autostart目录是配置kvm虚拟机开机自启动目录。(2) virsh命令帮助# virsh -help或直接virsh命令和&#xff0c;再执行子命令。如下…

linux桌面环境是什么意思,Linux 黑话解释:什么是桌面环境?

在桌面 Linux 世界中&#xff0c;最常用的术语之一就是 桌面环境(Desktop Environment)(DE)。如果你是 Linux 的新手&#xff0c;你应该了解一下这个经常使用的术语。什么是 Linux 中的桌面环境?桌面环境是一个组件的组合体&#xff0c;为你提供常见的 图形用户界面(graphical…

Hadoop 2.5.1集群安装配置

本文的安装只涉及了hadoop-common、hadoop-hdfs、hadoop-mapreduce和hadoop-yarn&#xff0c;并不包含HBase、Hive和Pig等。 http://blog.csdn.net/aquester/article/details/24621005 1. 规划 1.1. 机器列表 NameNode SecondaryNameNode DataNodes 172.16.0.100 172.16.0.…

ubuntu14.04 x86编译upx 3.92 及so加固

的参考文章&#xff1a; http://www.cnblogs.com/fishou/p/4202061.html 1.download upx和所依赖的组件 upx3.92&#xff1a;https://www.pysol.org:4443/hg/upx.hg/archive/tip.tar.gzLZMA4.43&#xff1a;http://nchc.dl.sourceforge.net/project/sevenzip/LZMA%20SDK/4.43/l…

关闭linux系统中读写页缓存,Linux文件系统FAQ

Linux文件系统FAQ2010年03月25日最近实验室搞了一些列讲座&#xff0c;阿福师兄关于文件系统的讲座帮我弄清楚了一些以前不清楚的问题&#xff0c;以问答的形式对文件系统常见的问题进行了总结。Q: 文件系统如何看待底层物理块设备&#xff1f;文件系统把块设备简单的看做线性的…

Unity3d 札记-Let's try shooting 知识点汇总

1\LineRenderer LineRenderer是用来在3d场景画直线的一个工具。 public LineRenderer laserline;laserline.SetPositon(0,startposition);laserline.SetPositon(1,endposition);//设置结束位置startpositon,endposition均为Vector3 ,空间三维坐标 laserline.enabled(true); las…

使用Eclipse创建maven项目

前提&#xff1a;Eclipse中安装了maven插件&#xff0c;或者Eclipse版本在Mars以上&#xff08;自集成maven&#xff09; 1、new project --maven project 2、默认点击next 3、选择构建类型 4、填写groupId和artifactId,groupId就是顶级项目名,artifactId就是模块名&#xff08…

c语言动态存储分配和链表,C语言静态链表和动态链表

1. 静态链表结构体中的成员可以是各种类型的指针变量&#xff0c;当一个结构体中有一个或多个成员的基类型是本结构体类型时&#xff0c;则称这种结构体为“引用自身的结构体”。如&#xff1a;struct link{char ch;struct link *p;} a;p是一个可以指向 struct link 类型变量的…

初步认识JUnit

初步认识JUnit 目前大多数的基于Java的企业应用软件&#xff0c;肯定少不了单元测试&#xff0c;程序员通过编写单元测试来验证自己程序的有效性&#xff1b;管理者通过持续自动的执行单元测试和分析单元测试覆盖率来确保软件本身的质量。可以说单元测试和集成测试在软件开发整…

STM32CubeMX使用方法及功能介绍

推荐 分享一个朋友的人工智能教程&#xff0c;零基础&#xff01;通俗易懂&#xff01;希望你也加入到人工智能的队伍中来&#xff01; http://www.captainbed.net/strongerhuang Ⅰ、写在前面 学习本文之前可以查看我前面的文章&#xff1a; STM32CubeMX介绍、下载与安装 主要…

2ab对应的c语言表达式是,编译原理 作业标准答案

《编译原理》第一次作业参考答案一、下列正则表达式定义了什么语言(用尽可能简短的自然语言描述)&#xff1f;1.b*(ab*ab*)*所有含有偶数个a的由a和b组成的字符串.2.c*a(a|c)*b(a|b|c)* | c*b(b|c)*a(a|b|c)*答案一&#xff1a;所有至少含有1个a和1个b的由a&#xff0c;b和c组成…

Ext JS 6学习文档-第6章-高级组件

Ext JS 6学习文档-第6章-高级组件 高级组件 本章涵盖了高级组件&#xff0c;比如 tree 和 data view。它将为读者呈现一个示例项目为 图片浏览器&#xff0c;它使用 tree 和 data view 组件。以下是本章将要讨论的主题&#xff1a; TreesData views拖放图片浏览器 — 一个示例项…

android没有apk文件怎么打开方式,ios怎么打开apk文件,安卓无法打开apk文件

?  许多win7系统小伙伴在打开电脑中&#xff0c;经常会看到一些文件格式自己不知道是什么以及不知道要怎么打开&#xff0c;比如apk文件&#xff0c;APK是Android Package的缩写&#xff0c;即Android安装包&#xff0c;几乎所有的安卓应用程序都是这种格式&#xff0c;那么…

android屏幕基础知识

首先&#xff0c;先来上一张图&#xff0c;看看android屏幕分辨率的占比情况 什么是dp&#xff0c;dip&#xff0c;dpi&#xff0c;sp、px ?之间的关系是什么&#xff1f; px&#xff1a;构成图像的最小单位 dp/dip&#xff1a;密度无关像素 以160dpi为基准 1dp1px sp&#xf…

Android模糊查询excel文件内容,【excel】模糊查询关键字

求Excel大神指点迷津。如何批量模糊查找和替换。例如&#xff0c;A1&#xff1a;A100,每个单元格有一段文字。B1:B200,每个单元格有一个关键词。我的目的是在A1:A100中查找包含B1的单元格&#xff0c;找到后把这个单元格内容换成B1的内容。然后查找B2替换B2...一直到B200解决办…