2017-02-11 46 views
0
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(body)添加了一个占位符。但是这个placeholderlabel在textview的左侧出现,我希望它在右侧。我试图玩文本对齐和x:5的东西,但无法完成。所以我在这里寻求帮助无法让我的占位符在我的textview的右边

回答

1

这是因为你正在设置placeholderLabel.sizeToFit()并以这种方式,你正在使帧的大小只是尽可能大,以便它能够适合文本,因此,如果将textAlignment设置为正确,那不会影响任何内容。

为了这个工作,你将需要删除以下行:

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

,而使用:

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