n.e*_*ind 13 iphone cocoa-touch objective-c uitextview
我正在尝试在用户输入文本时实现UITextView的简单字符数(即它应该连续更新).
我有两个问题.
(1)首先是我不知道我应该在哪种方法中使用charCount方法.textViewShouldBeginEditing不起作用,因为它只是询问编辑会话是否应该开始.textView:shouldChangeTextInRange也不起作用,因为它再次询问是否允许开始编辑.我在Apple doc中找不到其他有用的方法.
(2)下一个问题:我试图从另一个方法中调用我的charCount方法.但是我得到了编译错误:'ViewController'可能无法响应'charCount'.
这是我的谦卑尝试:
- (IBAction)charCount:(id)sender {
// all chars
int charsAsInt = (int)(textView.text.length);
NSString *newText = [[NSString alloc] initWithFormat:@"All chars: %d", charsAsInt];
allCharacters.text = newText;
[newText release];}
- (BOOL)textViewShouldBeginEditing:(UITextView *)aTextView {
[self charCount];}
Run Code Online (Sandbox Code Playgroud)
我想这与我试图调用IBAction定义的方法有关,这不起作用.但是,在非IBAction方法中调用IBAction方法的正确方法是什么?
一如既往,我很抱歉这些非常基本的问题,我非常感谢每一个小小的帮助,让我的初学者能够理解这一点.
Sur*_*h.D 50
我曾经这样创建,以防止UITextview只键入140个字符.
而且我在UILabel中显示出这样的数字
-(void)textViewDidChange:(UITextView *)textView
{
int len = textView.text.length;
lbl_count.text=[NSString stringWithFormat:@"%i",140-len];
}
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if([text length] == 0)
{
if([textView.text length] != 0)
{
return YES;
}
}
else if([[textView text] length] > 139)
{
return NO;
}
return YES;
}
Run Code Online (Sandbox Code Playgroud)
这可能对你有所帮助!
textView:shouldChangeTextInRange也不起作用,因为它再次询问是否允许开始编辑.
但没有什么可以阻止你计算那里的人物.最后只返YES.
我想这与我试图调用IBAction定义的方法有关,这不起作用
您可以从代码中调用IBActions.IBAction只是Interface Builder的关键词,但它与void相同.
但是你必须使用正确的方法签名.
您的方法- (IBAction)charCount:(id)sender有一个参数(id sender)
但您的调用[self charCount]没有参数.
改变它[self charCount:nil],你应该没事.
编辑:我现在没有textView,我现在懒得创建一个但是这适用于UITextField:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSInteger textLength = 0;
textLength = [textField.text length] + [string length] - range.length;
NSLog(@"Length: %d", textLength);
return YES;
}
Run Code Online (Sandbox Code Playgroud)
我将替换字符串的长度添加到字段的当前文本中.然后我减去更换范围的长度.
你应该做一些实验来更好地理解那些之间的关系3.
基本上,如果你覆盖一些文本,范围的长度将是你要覆盖的文本的长度(即所选文本的长度)
| 归档时间: |
|
| 查看次数: |
15073 次 |
| 最近记录: |