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(, , , ) ;
m_contentTextField.backgroundColor = [UIColor whiteColor] ;
m_contentTextField.font = [UIFont systemFontOfSize:];
m_contentTextField.delegate = self ;
设置此UITextView为第一响应者,即默认打开键盘。
Cpp代码
[m_contentTextField becomeFirstResponder];
当UITextView中含有文字时,系统默认将光标定位到最后的位置,下面的语句将光标定位到首位置。
Cpp代码
m_contentTextField.selectedRange = NSMakeRange(,); 参考文献:https://discussions.apple.com/message/12209784#12209784

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

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

UITextView 文本换行

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

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

设置显示内容的padding

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

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

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

UITextView 详解-LMLPHP

05-11 18:07