我想创建一个UITextView
能够在其中输入文本的自定义,以及以编程方式在其中添加一些UILabels
类似于文本的内容(当光标靠近它们时,我需要使用“退格”按钮删除它们)。
这UITextView
应该是可扩展的,并且标签可以有不同的宽度。
关于如何创建这种东西的任何想法,任何教程等?
我想创建一个UITextView
能够在其中输入文本的自定义,以及以编程方式在其中添加一些UILabels
类似于文本的内容(当光标靠近它们时,我需要使用“退格”按钮删除它们)。
这UITextView
应该是可扩展的,并且标签可以有不同的宽度。
关于如何创建这种东西的任何想法,任何教程等?
您可以使用此代码创建文本字段。
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) 将具有空值。所以我们可以使用它来识别退格按钮按下。