Re: A horizontal line rule within a NSAttributedString?
Re: A horizontal line rule within a NSAttributedString?
- Subject: Re: A horizontal line rule within a NSAttributedString?
- From: Aleksei Kac <email@hidden>
- Date: Sat, 18 Feb 2017 17:24:38 -0700
Here is what I use on macOS:
open class FSHorizontalRuleAttachmentCell: NSTextAttachmentCell {
override open func cellFrame(for textContainer: NSTextContainer, proposedLineFragment lineFrag: NSRect, glyphPosition position: NSPoint, characterIndex charIndex: Int) -> NSRect {
return NSMakeRect(0,0,lineFrag.size.width, 8)
}
override open func draw(withFrame cellFrame: NSRect, in controlView: NSView?) {
NSColor.lightGray.set()
var widthFrame = NSInsetRect(cellFrame,2,0)
widthFrame.origin.y += 3
widthFrame.size.height = 1
widthFrame.size.width -= 20
NSRectFill(widthFrame)
}
}
Aleksei Kac: Father/Husband
> On Feb 18, 2017, at 4:50 PM, Gary L. Wade <email@hidden> wrote:
>
> Either try subclassing NSTextAttachment and overriding the methods in NSTextAttachmentContainer or use a subclass of NSTextAttachmentCell.
> --
> Gary L. Wade
> http://www.garywade.com/ <http://www.garywade.com/>
>> On Feb 18, 2017, at 3:26 PM, Daryle Walker <email@hidden> wrote:
>>
>> What is the attachment supposed to be? An image of a line? That doesn’t seem scalable (to the page size). And the effort seems to be the same as figuring out NSTextBlock.
>>
>>> On Feb 18, 2017, at 5:43 PM, Gary L. Wade <email@hidden <mailto:email@hidden>> wrote:
>>>
>>> I would use NSTextAttachment, create an attributed string from it, and combine your three attributed strings into one.
>>> --
>>> Gary L. Wade
>>> http://www.garywade.com/ <http://www.garywade.com/>
>>>> On Feb 18, 2017, at 2:16 PM, Daryle Walker <email@hidden <mailto:email@hidden>> wrote:
>>>>
>>>> An idea for formatted output of my data is the two sections turned into attributed strings, with a line between them. But I couldn’t figure out how to make a line. I didn’t want to resort to raw drawing commands. I prefer not to create (X)HTML representations (so I could put a “<hr>” in between). Poking around NSAttributedString, there seems to be a NSTextBlock that could do it. Any advice on how?
>>
>>
>> —
>> Daryle Walker
>> Mac, Internet, and Video Game Junkie
>> darylew AT mac DOT com
>>
>
> _______________________________________________
>
> Cocoa-dev mailing list (email@hidden)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden