【发布时间】:2013-10-28 09:42:15
【问题描述】:
我的可编辑UITextView(放置在UISplitView 内的一个简单的UIViewController 中,充当UITextView 的代表)怎么可能不是从一开始就显示文本,而是在6-7 行之后显示文本?
我没有设置任何特定的自动布局或类似的东西,试图删除文本没有帮助(所以没有隐藏字符或其他东西)。
我在 iPad 上使用 iOS 7,故事板看起来不错... iOS模拟器和真实设备上的问题是一样的。我要生气了:P
这里有一些代码。这是 ViewController viewDidLoad()
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
self.itemTextField.delegate = self;
self.itemTextField.text = NSLocalizedString(@"NEWITEMPLACEHOLDER", nil);
self.itemTextField.textColor = [UIColor lightGrayColor]; //optional
}
这里是UITextView 的重写函数,我正在使用我在 StackOverflow 上找到的一些代码来模拟视图的占位符(iPhone 版本的情节提要上的相同内容可以正常工作)...
// UITextView placeholder
- (void)textViewDidBeginEditing:(UITextView *)textView
{
if ([textView.text isEqualToString:NSLocalizedString(@"NEWITEMPLACEHOLDER", nil)]) {
textView.text = @"";
textView.textColor = [UIColor blackColor]; //optional
}
[textView becomeFirstResponder];
}
- (void)textViewDidEndEditing:(UITextView *)textView
{
if ([textView.text isEqualToString:@""]) {
textView.text = NSLocalizedString(@"NEWITEMPLACEHOLDER", nil);
textView.textColor = [UIColor lightGrayColor]; //optional
}
[textView resignFirstResponder];
}
-(void)textViewDidChange:(UITextView *)textView
{
int len = textView.text.length;
charCount.text = [NSString stringWithFormat:@"%@: %i", NSLocalizedString(@"CHARCOUNT", nil),len];
}
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
return YES;
}
【问题讨论】:
-
浅蓝色是UITextVIew的背景色?
-
是的,我在故事板中设置了它,以便在屏幕截图中清晰。顺便说一句,即使使用默认背景颜色也存在问题。
-
这已从原始问题“如何垂直对齐 UITextView”进行了重大修改。
标签: ios objective-c ipad uitextview vertical-alignment