YYTextMarkdownExample.m 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. //
  2. // YYTextMarkdownExample.m
  3. // YYKitExample
  4. //
  5. // Created by ibireme on 15/9/3.
  6. // Copyright (c) 2015 ibireme. All rights reserved.
  7. //
  8. #import "YYTextMarkdownExample.h"
  9. #import "YYText.h"
  10. #import "YYImage.h"
  11. #import "UIImage+YYWebImage.h"
  12. #import "UIView+YYAdd.h"
  13. #import "NSBundle+YYAdd.h"
  14. #import "NSString+YYAdd.h"
  15. #import "YYTextExampleHelper.h"
  16. @interface YYTextMarkdownExample () <YYTextViewDelegate>
  17. @property (nonatomic, assign) YYTextView *textView;
  18. @end
  19. @implementation YYTextMarkdownExample
  20. - (void)viewDidLoad {
  21. [super viewDidLoad];
  22. self.view.backgroundColor = [UIColor whiteColor];
  23. if ([self respondsToSelector:@selector(setAutomaticallyAdjustsScrollViewInsets:)]) {
  24. self.automaticallyAdjustsScrollViewInsets = NO;
  25. }
  26. NSString *text = @"#Markdown Editor\nThis is a simple markdown editor based on `YYTextView`.\n\n*********************************************\nIt\'s *italic* style.\n\nIt\'s also _italic_ style.\n\nIt\'s **bold** style.\n\nIt\'s ***italic and bold*** style.\n\nIt\'s __underline__ style.\n\nIt\'s ~~deleteline~~ style.\n\n\nHere is a link: [YYKit](https://github.com/ibireme/YYKit)\n\nHere is some code:\n\n\tif(a){\n\t\tif(b){\n\t\t\tif(c){\n\t\t\t\tprintf(\"haha\");\n\t\t\t}\n\t\t}\n\t}\n";
  27. YYTextSimpleMarkdownParser *parser = [YYTextSimpleMarkdownParser new];
  28. [parser setColorWithDarkTheme];
  29. YYTextView *textView = [YYTextView new];
  30. textView.text = text;
  31. textView.font = [UIFont systemFontOfSize:14];
  32. textView.textParser = parser;
  33. textView.size = self.view.size;
  34. textView.textContainerInset = UIEdgeInsetsMake(10, 10, 10, 10);
  35. textView.delegate = self;
  36. if (kiOS7Later) {
  37. textView.keyboardDismissMode = UIScrollViewKeyboardDismissModeInteractive;
  38. }
  39. textView.backgroundColor = [UIColor colorWithWhite:0.134 alpha:1.000];
  40. textView.contentInset = UIEdgeInsetsMake(64, 0, 0, 0);
  41. textView.scrollIndicatorInsets = textView.contentInset;
  42. textView.selectedRange = NSMakeRange(text.length, 0);
  43. [self.view addSubview:textView];
  44. self.textView = textView;
  45. }
  46. - (void)edit:(UIBarButtonItem *)item {
  47. if (_textView.isFirstResponder) {
  48. [_textView resignFirstResponder];
  49. } else {
  50. [_textView becomeFirstResponder];
  51. }
  52. }
  53. - (void)textViewDidBeginEditing:(YYTextView *)textView {
  54. UIBarButtonItem *buttonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone
  55. target:self
  56. action:@selector(edit:)];
  57. self.navigationItem.rightBarButtonItem = buttonItem;
  58. }
  59. - (void)textViewDidEndEditing:(YYTextView *)textView {
  60. self.navigationItem.rightBarButtonItem = nil;
  61. }
  62. @end