将UIButton放在Ucode中的UITextView中的文本末尾,用Xift编写的Xcode编写

时间:2016-06-07 08:23:12

标签: ios swift uibutton uitextview

在我的应用的ViewControllerUITextView中,有一个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 : } } }); 内容高度对齐按钮吗?

此致 大卫。

1 个答案:

答案 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)

这将为您提供以下输出:

enter image description here

希望这有帮助!