当按下回车键时,键盘显示一些文字

时间:2012-07-31 17:42:48

标签: objective-c ios list textview

这就是我想要的应用程序。

点击“文本视图”而不是“文本字段”,然后显示键盘并弹出项目符号(“\ u2022”)。你键入你的句子,当你点击返回时它会生成一个新的子弹。

基本上,你有一个文本视图是一个项目符号列表。就像Word一样,你开始一颗子弹,当你点击返回它时会为你制作一颗新的子弹,所以你可以开始在那条线上打字。

what I want my app to do

我该怎么做?

这对于像我这样的任何其他愚蠢的新手都有用:

我把它放到我的.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];   

}

3 个答案:

答案 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
}