无法将我的占位符放在textview的右侧

时间:2017-02-11 13:37:39

标签: ios swift

placeholderLabel  = UILabel()
        placeholderLabel.text = localizedMsgComment
        placeholderLabel.font = UIFont.italicSystemFont(ofSize: (body.font?.pointSize)!)
        placeholderLabel.sizeToFit()
        placeholderLabel.textAlignment = .right
        body.addSubview(placeholderLabel)
        placeholderLabel.frame.origin = CGPoint(x: 5, y: (body.font?.pointSize)! / 2)
        placeholderLabel.textColor = UIColor.lightGray
        placeholderLabel.isHidden = !body.text.isEmpty

基本上我有这个,它为我的textview(正文)添加了一个占位符。但是这个占位符标签可以在textview的左侧看到,我希望它在右侧。我尝试使用文本对齐和x:5的东西,但无法完成它。所以我在这里寻求帮助

1 个答案:

答案 0 :(得分:1)

这是因为你正在设置placeholderLabel.sizeToFit(),这样你就可以使框架的大小同样大,以便它可以适应文本中的文本,因此如果设置textAlignment则无关紧要对,这不会改变任何事情。

为了使其正常工作,您需要删除以下行:

placeholderLabel.sizeToFit()
placeholderLabel.frame.origin = CGPoint(x: 5, y: (body.font?.pointSize)! / 2)

而是使用:

placeholder.frame = body.frame
placeholder.textAlignment = .right