在我的应用的ViewController
个UITextView
中,有一个TextView
。我想要一个"允许推送通知"文本末尾的按钮。但由于按钮是静态的,TextView
中的文本是动态的,取决于显示宽度,它在某些设备和方向上看起来非常糟糕。
有人知道如何解决这个问题吗?是否有可能在TextView
中插入按钮。或者我可以根据$("#disapp").click(function() {
var p = $("#txt").val();
if($("#pcheck").is(":checked")) {
switch(p) {
case "1" : $(".p1").hide();
case "2" : $(".p2").hide();
case "3" : $(".p3").hide();
case "4" : $(".p4").hide();
default :
}
}
});
内容高度对齐按钮吗?
此致 大卫。
答案 0 :(得分:5)
UITextView
的 UIScrollView
个子类,您可以像使用普通UIScrollView
那样使用此优势向其添加子视图,其技巧是偏移文本视图'按钮+填充高度的文本容器。例如:
let textView = UITextView(frame: CGRect(x: 0, y: 0, width: 320, height: 500))
textView.text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus vitae fermentum tellus. Donec dui sem, viverra eu auctor eleifend, aliquet id lorem. Nam id sapien sed arcu auctor commodo nec nec nulla. Praesent id mi nec odio consequat varius id sit amet quam."
let buttonHeight: CGFloat = 44
let contentInset: CGFloat = 8
//inset the textView
textView.textContainerInset = UIEdgeInsets(top: contentInset, left: contentInset, bottom: (buttonHeight+contentInset*2), right: contentInset)
let button = UIButton(frame: CGRect(x: contentInset, y: textView.contentSize.height - buttonHeight - contentInset, width: textView.contentSize.width-contentInset*2, height: buttonHeight))
//setup your button here
button.setTitle("BUTTON", forState: UIControlState.Normal)
button.setTitleColor(UIColor.redColor(), forState: UIControlState.Normal)
button.backgroundColor = UIColor.lightGrayColor()
//Add the button to the text view
textView.addSubview(button)
这将为您提供以下输出:
希望这有帮助!