Swift UITextView的自定义占位符标签未正确消失

时间:2018-11-25 15:13:19

标签: ios swift uitextview uitextviewdelegate

消失其他UITextView的占位符标签

有3个UITextViews和3个占位符标签(以编程方式生成) 当我点击或修改第一个UITextView或第二个UITextView时,仅第三个占位符标签消失了。 有办法解决这个问题吗?

for idx in 0..<kNumberOfDiaryCard {
  let x = CGFloat(0)
  let y = CGFloat(idx % 3) * (diaryCardHeight + pad)

  // 1 DiaryCards
  diaryCardView = UIView()
  diaryCardView.frame = CGRect(x: x, y: y, width: diaryCardWidth, height: diaryCardHeight)
  diaryCardBaseView.addSubview(diaryCardView)

  // 2 mood color view of DiaryCards
  moodColorView = UIView()
  moodColorView.frame = CGRect(x: 0, y: 0, width: moodColorViewWidth, height: moodColorViewTotalHeight)
  diaryCardView.addSubview(moodColorView)

  // 3 text view of DiaryCards
  textView = UITextView()
  textView.delegate = self
  textView.frame = CGRect(x: xx, y: yy, width: textViewWidth, height: textViewHeight)
  textView.tag = idx
  diaryCardView.addSubview(textView)

  // 4 placeholder label
  placeholderLabel = UILabel()
  placeholderLabel.frame = CGRect(x: xxx, y: yyy, width: placeholderLabelWidth, height: placeholderLabelHeight)
  placeholderLabel.tag = idx

  placeholderLabel.text = DiaryMainView.init().placeHolderTxt[idx]
  diaryCardView.addSubview(placeholderLabel)
}




func textViewDidBeginEditing(_ textView: UITextView) {
  textView.becomeFirstResponder()
}

func textViewDidChange(_ textView: UITextView) {
  placeholderLabel?.isHidden = !textView.text.isEmpty
}

func textViewDidEndEditing(_ textView: UITextView) {
  textView.resignFirstResponder()
}

0 个答案:

没有答案