Serializing UITextView with custom NSTextContainer does not restore text containerHow to style UITextview to like Rounded Rect text field?iOS custom UITextView with vertical textCreate a customized table view cell using swiftUITextView textContainer exclusion path fails if full width and positioned at top of textContainerHow to rotate the text fragments of a NSTextContainer in a UITextView?NSTextContainer exclusionPaths move with textText garbled when using NSTextContainer/NSLayoutManager with UITextViewIssues with casting celltypes to dequeueUITextView does not fit NSTextContainer exactlyImplementing Hashable and NSCoding in the same class in Swift
Examples where existence is harder than evaluation
My parents are Afghan
How do I politely tell my players to shut up about their backstory?
Align a table column at a specific symbol
Are wands in any sort of book going to be too much like Harry Potter?
Why doesn't a particle exert force on itself?
Are there vaccine ingredients which may not be disclosed ("hidden", "trade secret", or similar)?
Company stopped paying my salary. What are my options?
Can you turn a recording upside-down?
What are my options legally if NYC company is not paying salary?
When an electron around an atom drops to a lower state, is 100% of the energy converted to a photon?
Why did Ham the Chimp push levers?
How is it believable that Euron could so easily pull off this ambush?
Is your maximum jump distance halved by grappling?
logo selection for poster presentation
Is it a good idea to copy a trader when investing?
Do these creatures from the Tomb of Annihilation campaign speak Common?
Identity of a supposed anonymous referee revealed through "Description" of the report
Steganography in Latex
My Sixteen Friendly Students
What are these pads?
Exactly which act of bravery are Luke and Han awarded a medal for?
Why is there a cap on 401k contributions?
What computer port is this?
Serializing UITextView with custom NSTextContainer does not restore text container
How to style UITextview to like Rounded Rect text field?iOS custom UITextView with vertical textCreate a customized table view cell using swiftUITextView textContainer exclusion path fails if full width and positioned at top of textContainerHow to rotate the text fragments of a NSTextContainer in a UITextView?NSTextContainer exclusionPaths move with textText garbled when using NSTextContainer/NSLayoutManager with UITextViewIssues with casting celltypes to dequeueUITextView does not fit NSTextContainer exactlyImplementing Hashable and NSCoding in the same class in Swift
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
I have a UITextView using a custom subclassed NSTextContainer. My subclass is called TDTBezierPathTextContainer
. I am creating the UITextView
like this:
let textContainer = TDTBezierPathTextContainer(size:CGSize.zero) //NSTextContainer subclass
...
textView = UITextView(frame:r, textContainer:textContainer)
This all works, but I need to store and restore the exact state of the text view. For this, I am using the NSCoding protocol.
I am encoding the text view like this:
override public func encode(with aCoder: NSCoder)
super.encode(with: aCoder)
aCoder.encode(textView, forKey: "textView")
I am decoding like this:
public required init?(coder aDecoder: NSCoder)
super.init(coder: aDecoder)
if let textView = aDecoder.decodeObject(forKey: "textView") as? UITextView
textView.delegate = self
addSubview(textView)
self.textView = textView
The problem is that encoding the UITextView
does not encode my custom text container (even though it is in its graph). When I decode the text view, it seems to be using the default text container.
Apparently, the only way to specify the text container is when the UITextView
is instantiated, so it seems impossible to restore my text view with my custom text container.
I have tried creating a new textview and setting all of the relevant properties the same, but the restore textview is slightly different.
Is there any way to store/restore a UITextView
with a custom NSTextContainer
intact?
ios serialization uitextview nscoding nstextcontainer
add a comment |
I have a UITextView using a custom subclassed NSTextContainer. My subclass is called TDTBezierPathTextContainer
. I am creating the UITextView
like this:
let textContainer = TDTBezierPathTextContainer(size:CGSize.zero) //NSTextContainer subclass
...
textView = UITextView(frame:r, textContainer:textContainer)
This all works, but I need to store and restore the exact state of the text view. For this, I am using the NSCoding protocol.
I am encoding the text view like this:
override public func encode(with aCoder: NSCoder)
super.encode(with: aCoder)
aCoder.encode(textView, forKey: "textView")
I am decoding like this:
public required init?(coder aDecoder: NSCoder)
super.init(coder: aDecoder)
if let textView = aDecoder.decodeObject(forKey: "textView") as? UITextView
textView.delegate = self
addSubview(textView)
self.textView = textView
The problem is that encoding the UITextView
does not encode my custom text container (even though it is in its graph). When I decode the text view, it seems to be using the default text container.
Apparently, the only way to specify the text container is when the UITextView
is instantiated, so it seems impossible to restore my text view with my custom text container.
I have tried creating a new textview and setting all of the relevant properties the same, but the restore textview is slightly different.
Is there any way to store/restore a UITextView
with a custom NSTextContainer
intact?
ios serialization uitextview nscoding nstextcontainer
add a comment |
I have a UITextView using a custom subclassed NSTextContainer. My subclass is called TDTBezierPathTextContainer
. I am creating the UITextView
like this:
let textContainer = TDTBezierPathTextContainer(size:CGSize.zero) //NSTextContainer subclass
...
textView = UITextView(frame:r, textContainer:textContainer)
This all works, but I need to store and restore the exact state of the text view. For this, I am using the NSCoding protocol.
I am encoding the text view like this:
override public func encode(with aCoder: NSCoder)
super.encode(with: aCoder)
aCoder.encode(textView, forKey: "textView")
I am decoding like this:
public required init?(coder aDecoder: NSCoder)
super.init(coder: aDecoder)
if let textView = aDecoder.decodeObject(forKey: "textView") as? UITextView
textView.delegate = self
addSubview(textView)
self.textView = textView
The problem is that encoding the UITextView
does not encode my custom text container (even though it is in its graph). When I decode the text view, it seems to be using the default text container.
Apparently, the only way to specify the text container is when the UITextView
is instantiated, so it seems impossible to restore my text view with my custom text container.
I have tried creating a new textview and setting all of the relevant properties the same, but the restore textview is slightly different.
Is there any way to store/restore a UITextView
with a custom NSTextContainer
intact?
ios serialization uitextview nscoding nstextcontainer
I have a UITextView using a custom subclassed NSTextContainer. My subclass is called TDTBezierPathTextContainer
. I am creating the UITextView
like this:
let textContainer = TDTBezierPathTextContainer(size:CGSize.zero) //NSTextContainer subclass
...
textView = UITextView(frame:r, textContainer:textContainer)
This all works, but I need to store and restore the exact state of the text view. For this, I am using the NSCoding protocol.
I am encoding the text view like this:
override public func encode(with aCoder: NSCoder)
super.encode(with: aCoder)
aCoder.encode(textView, forKey: "textView")
I am decoding like this:
public required init?(coder aDecoder: NSCoder)
super.init(coder: aDecoder)
if let textView = aDecoder.decodeObject(forKey: "textView") as? UITextView
textView.delegate = self
addSubview(textView)
self.textView = textView
The problem is that encoding the UITextView
does not encode my custom text container (even though it is in its graph). When I decode the text view, it seems to be using the default text container.
Apparently, the only way to specify the text container is when the UITextView
is instantiated, so it seems impossible to restore my text view with my custom text container.
I have tried creating a new textview and setting all of the relevant properties the same, but the restore textview is slightly different.
Is there any way to store/restore a UITextView
with a custom NSTextContainer
intact?
ios serialization uitextview nscoding nstextcontainer
ios serialization uitextview nscoding nstextcontainer
edited Mar 23 at 8:05
Jeshua Lacock
asked Mar 23 at 7:47
Jeshua LacockJeshua Lacock
3,16211637
3,16211637
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55311723%2fserializing-uitextview-with-custom-nstextcontainer-does-not-restore-text-contain%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55311723%2fserializing-uitextview-with-custom-nstextcontainer-does-not-restore-text-contain%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown