UITextView
Subklassen von UIScrollView
, können Sie diese zu Ihrem Vorteil nutzen Subviews, um es hinzuzufügen, wie würden Sie eine normale UIScrollView
, der Trick ist, um die Höhe der Taste + Polsterung der Textansicht Text Behälter zu kompensieren. Zum Beispiel:
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)
Dies wird Ihnen die folgende Ausgabe:
hoffe, das hilft!
Warum eine Textansicht und keine Beschriftung? – Wain
@luiyezheng Eigentlich ist der Knopf horizontal und vertikal zentriert. Es sieht auf den meisten Geräten in Ordnung, außer auf 4 "und 3,5" Geräten. –
@Wain Weil es ca. sechs Sätze gibt. –