• UITextView 详解


    UITextView 边框的设置   设置光标的位置
     
    导入QuartzCote框架:

    #import <QuartzCore/QuartzCore.h>

    textView.layer.borderColor = [UIColor grayColor].CGColor;

    textView.layer.borderWidth =1.0;

    textView.layer.cornerRadius =5.0;

    建立一个UITextView,默认启动键盘,并将光标定位到首位置,因为UITextFiled类没有此功能,所以改用UItextView.
    代码如下:
    Cpp代码 
    UITextView *m_contentTextField = [[[UITextView alloc] init] autorelease];  
    m_contentTextField = [[[UITextView alloc] init] autorelease];  
    m_contentTextField.frame = CGRectMake(0, 0, 320, 90) ;  
    m_contentTextField.backgroundColor = [UIColor whiteColor] ;  
    m_contentTextField.font = [UIFont systemFontOfSize:14];  
    m_contentTextField.delegate = self ;  
    设置此UITextView为第一响应者,即默认打开键盘。
    Cpp代码 
    [m_contentTextField becomeFirstResponder];  
    当UITextView中含有文字时,系统默认将光标定位到最后的位置,下面的语句将光标定位到首位置。
    Cpp代码 
    m_contentTextField.selectedRange = NSMakeRange(0,0);  
    
    参考文献:https://discussions.apple.com/message/12209784#12209784

    iOS:个性化UITextView(缩进,行距,铺满)(点击可进,已试用,可行)

    总体来说个性化定制UITextView中的内容有两种方法:
    1,从文件中读取内容到UITextView,这个个人感觉使用rtfd和rtf格式文件效果非常好。
    
    2,使用NSAttributeString进行定制
    
    具体方法如下: 
    
    NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc]init];  
        paragraphStyle.lineHeightMultiple = 20.f;  
        paragraphStyle.maximumLineHeight = 25.f;  
        paragraphStyle.minimumLineHeight = 15.f;  
        paragraphStyle.firstLineHeadIndent = 20.f;  
    paragraphStyle.alignment = NSTextAlignmentJustified;  
      
    NSDictionary *attributes = @{ NSFontAttributeName:[UIFont systemFontOfSize:14], NSParagraphStyleAttributeName:paragraphStyle, NSForegroundColorAttributeName:[UIColor colorWithRed:76./255. green:75./255. blue:71./255. alpha:1]  
                                     };  
     textView.attributedText = [[NSAttributedString alloc]initWithString:content attributes:attributes];  
     
    
    当然也可以初始化一个NSMutableAttributedString,然后向里面添加文字样式,最后将它赋给textView的AttributedText即可 
    
    NSMutableAttributedString *atr = [[NSMutableAttributedString alloc]initWithString:detail];  
        [atr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:14] range:NSMakeRange(0, detail.length)];  
        textView.attributedText = atr;  
     
    
    另外,对于textview中的链接样式,同样也可以定制 
    
    NSDictionary *linkAttributes = @{NSForegroundColorAttributeName: [UIColor blueColor],  
                                         NSUnderlineColorAttributeName: [UIColor blackColor],  
                                         NSUnderlineStyleAttributeName: @(NSUnderlinePatternDash)};  
    self.linkTextAttributes = linkAttributes;  
     
    
    这里只是个简单的例子,具体还有很多属性可以自行参考头文件

    UITextView 文本换行

    从XML或者json中读取出来的" ",系统认为是字符串,会默认转换为"\n",所以当显示的时候就是字符串了,要想显示换行,需要自己手动将"\n"转换为" ",这样才能换行.

    NSString*b =[a stringByReplacingOccurrencesOfString:@"\n" withString:@" "];

    设置显示内容的padding

    textView.textContainerInset = UIEdgeInsetsMake(0, 10, 0, 10);

    效果是右侧的滚动条距离内容10像素

    参考:How to set margins (padding) in UITextView?

  • 相关阅读:
    关于hibernate中多对多关系
    选择排序
    Offer是否具有法律效力?
    textarea文本域宽度和高度(width、height)自己主动适应变化处理
    序列相关的趣题 之三
    windows的定时任务设置
    Maven pom.xml 配置详解
    PS 图像特效-非线性滤波器
    PS 滤镜算法原理——拼贴
    PS 滤镜算法原理——曝光过度
  • 原文地址:https://www.cnblogs.com/ygm900/p/3143478.html
Copyright © 2020-2023  润新知