在UITextVIEw中,我可以撤消任何字体更改,但无法撤消视图的属性字符串副本中的替换.使用此代码时……
- (voID) replace: (NSAttributedString*) old with: (NSAttributedString*) new{1. [[myVIEw.undoManager prepareWithInvocationTarget:self] replace:new with:old];2. old=new;}
…撤消工作正常.
但是如果我添加一行来在我的视图中看到结果,则undoManager不会触发“replace:with:”方法,因为它应该……
- (voID) replace: (NSAttributedString*) old with: (NSAttributedString*) new{1. [[myVIEw.undoManager prepareWithInvocationTarget:self] replace:new with:old];2. old=new;3. myVIEw.attributedText=[[NSAttributedString alloc] initWithAttributedString:old];}
任何的想法?我有任何替换方法的问题,使用范围与否,MutableAttributedString我尝试在线“2”…
解决方法 嗯,哇,我真的没想到这个工作!我找不到解决方案,所以我开始尝试任何事情……- (voID)applyAttributesToSelection:(NSDictionary*)attributes { UITextVIEw *textVIEw = self.contentCell.textVIEw; NSRange selectedRange = textVIEw.selectedRange; UITextRange *selectedTextRange = textVIEw.selectedTextRange; NSAttributedString *selectedText = [textVIEw.textStorage attributedSubstringFromrange:selectedRange]; [textVIEw.undoManager beginUndoGrouPing]; [textVIEw replaceRange:selectedTextRange withText:selectedText.string]; [textVIEw.textStorage addAttributes:attributes range:selectedRange]; [textVIEw.undoManager endUndoGrouPing]; [textVIEw setTyPingAttributes:attributes];}总结
以上是内存溢出为你收集整理的UITextView撤消管理器不适用于替换属性字符串(iOS 6)全部内容,希望文章能够帮你解决UITextView撤消管理器不适用于替换属性字符串(iOS 6)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)