Hi I am trying to find a character's CGRect from a Label. I found following How do I locate the CGRect for a substring of text in a UILabel? to be useful but the code is in Objective C. I tried into Swift language. Following in the Swift conversion of the Objective C code
var objLabel:UILabel = UILabel()
func getBoundingRectForCharacterRange(range:NSRange) -> CGRect {
var objTextStorage = NSTextStorage(attributedString: objLabel.attributedText!)
var objLayoutManager = NSLayoutManager()
objTextStorage.addLayoutManager(objLayoutManager)
var objTextContainer = NSTextContainer(size: CGSizeMake(100,100))
objTextContainer.lineFragmentPadding = 0
objLayoutManager.addTextContainer(objTextContainer)
var objRange:NSRange!
objLayoutManager.characterRangeForGlyphRange(range, actualGlyphRange: objRange)
return objLayoutManager.boundingRectForGlyphRange(objRange, inTextContainer: objTextContainer)
}
I am facing following error saying
can not convert value of type 'NSRange!' to expected argument type 'NSRangePointer' (aka 'UnsafeMutablePointer<_NSRange>')
Kindly help me to solve the problem.
Also I tried following from one similar question's answer but its also not working
var range : NSRange?
doSomethingWithRangePointer(&range)
func doSomethingWithRangePointer(range : UnsafeMutablePointer<NSRange?>) {
// Do stuff
}