Upgrade to Pro — share decks privately, control downloads, hide ads and more …

iOS 7 compatibility issues (UITextView)

iOS 7 compatibility issues (UITextView)

iOS 7 UITextView has many critical bugs. Introduce workaround or alternative libraries.

Kishikawa Katsumi

November 13, 2013
Tweet

More Decks by Kishikawa Katsumi

Other Decks in Technology

Transcript

  1. J04DPNQBUJCJMJUZJTTVFT
    6*5FYU7JFX BOETPPO

    IUUQTHJUIVCDPNLJTIJLBXBLBUTVNJ5FYU7JFX$PNQBUJCJMJUZ

    View Slide

  2. ؛઒ࠀݾ

    http://kishikawakatsumi.com

    Twitter

    @k_katsumi

    24/7 twenty-four seven

    http://d.hatena.ne.jp/KishikawaKatsumi/

    View Slide

  3. J04SFMFBTFECVUTPNFDSJUJDBM
    CVHTTUJMMSFNBJOFE
    w #SPLFO6*5FYU7JFX
    w #SPLFO6*4FBSDI#BS
    w #SPLFO6*1PQPWFS$POUSPMMFS TJODFBMPOHUJNFBHP

    w (VJEFE"DDFTT
    w "JS1SJOU
    ʜBOETPPO

    View Slide

  4. 6*5FYU7JFX

    View Slide

  5. /PUTDSPMMJOHUPDBSFUQPTJUJPOXIFOGPDVTFE
    5IFDBSFUJTNBZCFIFSF

    View Slide

  6. /PUTDSPMMJOHXIFOJOTFSUOFXMJOF

    View Slide

  7. 0DDVSTPO"QQMF`T"QQBOE'SBNFXPSLT

    View Slide

  8. 8PSLBSPVOE

    View Slide

  9. - (void)scrollRangeToVisible:(NSRange)range
    {
    [super scrollRangeToVisible:range];
    if (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1) {
    if (self.layoutManager.extraLineFragmentTextContainer != nil
    && self.selectedRange.location == range.location) {
    CGRect caretRect = [self caretRectForPosition:self.selectedTextRange.end];
    [self scrollRectToVisible:caretRect animated:NO];
    }
    }
    }
    4VCDMBTTJOHQBUDI

    View Slide

  10. 1BUDIJOEFMFHBUFNFUIPE
    - (void)textViewDidChange:(UITextView *)textView
    {
    NSString *text = textView.text;
    NSRange selectedRange = textView.selectedRange;
    textView.scrollEnabled = NO;
    textView.text = nil;
    textView.text = text;
    selectedRange.length = 0;
    textView.selectedRange = selectedRange;
    textView.scrollEnabled = YES;
    }

    View Slide

  11. 3FBEEFWGPSVNCFGPSFVTJOH

    View Slide

  12. 3FBECFGPSFVTJOH
    w IUUQTEFWGPSVNTBQQMFDPNNFTTBHF
    w IUUQJOFTTFOUJBMDPNCVHT

    View Slide

  13. 0UIFS4PMVUJPOT
    w +545FYU7JFXIUUQTHJUIVCDPNKBSFETJODMBJS+545FYU7JFX
    w *$5FYU7JFXIUUQTHJUIVCDPN&YJMF*$5FYU7JFX
    w 4&$PSF5FYU7JFXIUUQTHJUIVCDPNLJTIJLBXBLBUTVNJ4&$PSF5FYU7JFX
    w IUUQTHJTUHJUIVCDPNBHJMFUPSUPJTFBDDCGEBBGCBCD
    w IUUQTEFWGPSVNTBQQMFDPNNFTTBHF

    View Slide

  14. +545FYU7JFX

    View Slide

  15. .ZTBNQMFXPSLBSPVOE
    IUUQTHJUIVCDPNLJTIJLBXBLBUTVNJ5FYU7JFX$PNQBUJCJMJUZ

    View Slide

  16. -JOLXJUI6*5FYU7JFX

    View Slide

  17. 4IPVMEVTFSEQBSUZMJCSBSJFT
    w 4&$PSF5FYU7JFXIUUQTHJUIVCDPNLJTIJLBXBLBUTVNJ4&$PSF5FYU7JFX
    w 8."5XFFU7JFXIUUQTHJUIVCDPNNBSLCFBUPO8."5XFFU7JFX
    w 555"UUSJCVUFE-BCFMIUUQTHJUIVCDPNNBUUU555"UUSJCVUFE-BCFM
    w 6;5FYU7JFXIUUQTHJUIVCDPNTPOTPOHJUIVC6;5FYU7JFX

    View Slide

  18. 4&$PSF5FYU7JFX

    View Slide

  19. 8."5XFFU7JFX

    View Slide

  20. 6;5FYU7JFX

    View Slide