From d0e6e22f676166e3c110b0be5058a04995e478bf Mon Sep 17 00:00:00 2001 From: kondeichmann <k.deichmann@mac.com> Date: Fri, 2 Feb 2018 23:15:16 +0100 Subject: [PATCH] layout Text --- .../Assets.xcassets/Invitation/Contents.json | 6 +++++ .../ic_secure_card.imageset/Contents.json | 0 .../ic_secure_card.png | Bin .../ic_secure_card@2x.png | Bin .../ic_secure_card@3x.png | Bin .../SendViewController+Invitation.swift | 23 ++++++++++++++++++ 6 files changed, 29 insertions(+) create mode 100644 enzevalos_iphone/Assets.xcassets/Invitation/Contents.json rename enzevalos_iphone/Assets.xcassets/{ => Invitation}/ic_secure_card.imageset/Contents.json (100%) rename enzevalos_iphone/Assets.xcassets/{ => Invitation}/ic_secure_card.imageset/ic_secure_card.png (100%) rename enzevalos_iphone/Assets.xcassets/{ => Invitation}/ic_secure_card.imageset/ic_secure_card@2x.png (100%) rename enzevalos_iphone/Assets.xcassets/{ => Invitation}/ic_secure_card.imageset/ic_secure_card@3x.png (100%) diff --git a/enzevalos_iphone/Assets.xcassets/Invitation/Contents.json b/enzevalos_iphone/Assets.xcassets/Invitation/Contents.json new file mode 100644 index 00000000..da4a164c --- /dev/null +++ b/enzevalos_iphone/Assets.xcassets/Invitation/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/enzevalos_iphone/Assets.xcassets/ic_secure_card.imageset/Contents.json b/enzevalos_iphone/Assets.xcassets/Invitation/ic_secure_card.imageset/Contents.json similarity index 100% rename from enzevalos_iphone/Assets.xcassets/ic_secure_card.imageset/Contents.json rename to enzevalos_iphone/Assets.xcassets/Invitation/ic_secure_card.imageset/Contents.json diff --git a/enzevalos_iphone/Assets.xcassets/ic_secure_card.imageset/ic_secure_card.png b/enzevalos_iphone/Assets.xcassets/Invitation/ic_secure_card.imageset/ic_secure_card.png similarity index 100% rename from enzevalos_iphone/Assets.xcassets/ic_secure_card.imageset/ic_secure_card.png rename to enzevalos_iphone/Assets.xcassets/Invitation/ic_secure_card.imageset/ic_secure_card.png diff --git a/enzevalos_iphone/Assets.xcassets/ic_secure_card.imageset/ic_secure_card@2x.png b/enzevalos_iphone/Assets.xcassets/Invitation/ic_secure_card.imageset/ic_secure_card@2x.png similarity index 100% rename from enzevalos_iphone/Assets.xcassets/ic_secure_card.imageset/ic_secure_card@2x.png rename to enzevalos_iphone/Assets.xcassets/Invitation/ic_secure_card.imageset/ic_secure_card@2x.png diff --git a/enzevalos_iphone/Assets.xcassets/ic_secure_card.imageset/ic_secure_card@3x.png b/enzevalos_iphone/Assets.xcassets/Invitation/ic_secure_card.imageset/ic_secure_card@3x.png similarity index 100% rename from enzevalos_iphone/Assets.xcassets/ic_secure_card.imageset/ic_secure_card@3x.png rename to enzevalos_iphone/Assets.xcassets/Invitation/ic_secure_card.imageset/ic_secure_card@3x.png diff --git a/enzevalos_iphone/SendViewController+Invitation.swift b/enzevalos_iphone/SendViewController+Invitation.swift index 257a9690..e19efdbd 100644 --- a/enzevalos_iphone/SendViewController+Invitation.swift +++ b/enzevalos_iphone/SendViewController+Invitation.swift @@ -22,6 +22,8 @@ extension SendViewController { @IBAction fileprivate func encryptSelectedText() { + self.invitationSelection.selectedWords.insert(self.textView.selectedRange) + self.layoutText() } @IBAction @@ -47,6 +49,7 @@ extension SendViewController { fileprivate func removeAllInvitationMarks() { self.invitationSelection.selectedWords = Set<NSRange>() + self.layoutText() } fileprivate func menuControllerItems(for textView: UITextView) -> [UIMenuItem]? { @@ -55,6 +58,26 @@ extension SendViewController { UIMenuItem(title: "entschlüsseln", action: #selector(self.decryptSelectedText)) ] } + + fileprivate func layoutText() { + + guard self.invitationSelection.selectedWords.isEmpty == false else { + self.textView.text = self.textView.attributedText.string + return + } + + let selectedRange = self.textView.selectedRange + let text: String = self.textView.text + let orangeColor = #colorLiteral(red: 1, green: 0.570499897, blue: 0, alpha: 1) + let attributedString = NSMutableAttributedString(string: text, attributes: [NSFontAttributeName: self.textView.font!]) + + for range in self.invitationSelection.selectedWords { + attributedString.addAttributes([NSBackgroundColorAttributeName : orangeColor], range: range) + } + + self.textView.attributedText = attributedString + self.textView.selectedRange = NSRange(location: selectedRange.location, length: 0) + } } // MARK: - MarkHandler -- GitLab