3

我想创建一个UITextView能够在其中输入文本的自定义,以及以编程方式在其中添加一些UILabels类似于文本的内容(当光标靠近它们时,我需要使用“退格”按钮删除它们)。

UITextView应该是可扩展的,并且标签可以有不同的宽度。

关于如何创建这种东西的任何想法,任何教程等?

4

1 回答 1

4

您可以使用此代码创建文本字段。

UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(10, 200, 300, 40)];
textField.borderStyle = UITextBorderStyleRoundedRect;
textField.font = [UIFont systemFontOfSize:15];
textField.placeholder = @"enter text";
textField.autocorrectionType = UITextAutocorrectionTypeNo;
textField.keyboardType = UIKeyboardTypeDefault;
textField.returnKeyType = UIReturnKeyDone;
textField.clearButtonMode = UITextFieldViewModeWhileEditing;
textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;    
textField.delegate = self;
[self.view addSubview:textField];
[textField release];

对于创建标签,您可以使用以下代码:

CGRect labelFrame = CGRectMake( 10, 40, 100, 30 );
    UILabel* label = [[UILabel alloc] initWithFrame: labelFrame];
    [label setText: @"My Label"];
    [label setTextColor: [UIColor orangeColor]];
    label.backgroundColor =[UIColor clearColor];
    [view addSubview: label];

并在退格磁带使用此方法时删除标签:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
if ([string isEqualToString:@""]) {
NSLog(@"backspace button pressed");
[label removeFromSuperview];
}
return YES;
}

如果按下退格按钮,则 replacementString(string) 将具有空值。所以我们可以使用它来识别退格按钮按下。

于 2013-02-01T16:23:53.367 回答