这就是我想要的应用程序。
点击“文本视图”而不是“文本字段”,然后显示键盘并弹出项目符号(“\ u2022”)。你键入你的句子,当你点击返回时它会生成一个新的子弹。
基本上,你有一个文本视图是一个项目符号列表。就像Word一样,你开始一颗子弹,当你点击返回它时会为你制作一颗新的子弹,所以你可以开始在那条线上打字。
我该怎么做?
这对于像我这样的任何其他愚蠢的新手都有用:
我把它放到我的.m文件中
-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if([text isEqualToString:@"\n"])
{
NSString *modifiedString = [myTextView.text stringByAppendingString:@"\n\u2022"];
[myTextView setText:modifiedString];
return NO;
}
return YES;
}
我把它放到我的.h文件中
@interface CRHViewController3 : UIViewController <UITextViewDelegate> {
__weak IBOutlet UITextView *myTextView;
}
然后我把它放在我的viewDidLoad
之下 - (void)viewDidLoad
{
[super viewDidLoad];
[myTextView setDelegate:self];
}
答案 0 :(得分:2)
试试这个。
(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if([text isEqualToString:"\n"])
{
NSString *modifiedString = [textView.text stringByAppendingString:@"\n\u2022"];
[textView setText:modifiedString];
return NO;
}
return YES;
}
答案 1 :(得分:0)
为删除时输入的每个字母调用方法-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
。
因此,在此方法中,您可以尝试使用项目符号替换所有换行符。
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
...
textView.text = [textView.text stringByReplacingOccurrencesOfString:@"\\n" withString:@"\u2022"];
...
}
答案 2 :(得分:0)
使用此代码:
(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if([text isEqualToString:"\n"])
{
NSString *modifiedString = [textView.text stringByAppendingString:@"\n\u2022"];
[textView setText:modifiedString];
return NO;
}
return YES;
}
您的标头文件必须如下所示:
@interface MyViewController : UIViewController <UITextViewDelegate> {
//instance variables in here
}