【问题标题】:Custom keyboard iphone , having problem with backspace button in UITextView自定义键盘 iphone,UITextView 中的退格按钮有问题
【发布时间】:2010-03-29 08:46:31
【问题描述】:

检查此代码(我的自定义键盘):

-(IBAction) updateTextBackSpace:(id)sender
{
    if([txtview.text length]>0)
    {
        NSString *deletedLastCharString = [txtview.text substringToIndex:([txtview.text length]-1)];
        [txtview setText:deletedLastCharString];
    }
    else
    {
        return nil;
    }
}  

问题是我不知道如何更改此代码。我可以在光标处擦除任何给定行中的任何文本,退格从行尾开始擦除。我应该能够从光标位置擦除(退格)。

【问题讨论】:

  • 你有自定义键盘吗?手动处理所有事件?
  • 您的问题解决了吗?因为我还有一些错误!!!喜欢你,不工作。 :(

标签: iphone objective-c


【解决方案1】:

替换这个

NSString *deletedLastCharString = [txtview.text substringToIndex:([txtview.text length]-1)];

NSRange range  = [txtview selectedRange];
NSString *deletedLastCharString = [txtview.text substringToIndex:([range.location]-1)];

【讨论】:

  • 代码看起来不错..但我收到一个错误:Expected ':' before ']' token 。对不起,菜鸟
  • 嘿,我将其编辑为 (range.location) 而不是 [range.location] 。它有效,但它也在清除光标“之后”的文本。如果我想编辑 ABCD EFG 并将光标放在 D 上并按下退格键,它会吃掉剩余的 EFG,所以输出是 :ABC 我想要的地方: ABC EFG 。谢谢米希尔。
  • 尝试使用 [txtview.text substringToIndex:([txtview.text length] - [range.location]-1)];它应该工作......
  • 试过上面的。它在 ']' token 之前给出了 Expected ':' 的错误。当我将代码中的 [range.location] 更改为 (range.location) 时,代码会运行但会崩溃。感谢您的帮助。我该怎么办?
  • 上一个是对的...但是有一些逻辑错误...请再输入一些代码...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-13
  • 1970-01-01
  • 1970-01-01
  • 2011-10-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多