Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
iOS 7 compatibility issues (UITextView)
Search
Kishikawa Katsumi
November 13, 2013
Technology
9
12k
iOS 7 compatibility issues (UITextView)
iOS 7 UITextView has many critical bugs. Introduce workaround or alternative libraries.
Kishikawa Katsumi
November 13, 2013
Tweet
Share
More Decks by Kishikawa Katsumi
See All by Kishikawa Katsumi
iOSDC 2024 SMBファイル共有をSwiftで実装する
kishikawakatsumi
1
250
Enhancing Applications with Accessibility API
kishikawakatsumi
3
4.4k
Mastering SwiftSyntax
kishikawakatsumi
4
6.7k
My SwiftData Review
kishikawakatsumi
7
1.5k
Swift Expression Macros: a practical introduction
kishikawakatsumi
3
2k
Xcode Cloudの評価
kishikawakatsumi
2
1.4k
Regular expressions basics/正規表現の基本
kishikawakatsumi
7
800
家のいろいろな数値を計測する
kishikawakatsumi
4
2.3k
GitHub Actionsでテストの結果をわかりやすく表示する
kishikawakatsumi
1
1.3k
Other Decks in Technology
See All in Technology
AIと描く、未来のBacklog 〜プロジェクト管理の次の10年を想像し、創造するセッション〜
hrm_o25
0
110
AIエージェントを現場で使う / 2025.08.07 著者陣に聞く!現場で活用するためのAIエージェント実践入門(Findyランチセッション)
smiyawaki0820
7
1.2k
Amazon S3 Vectorsは大規模ベクトル検索を低コスト化するサーバーレスなベクトルデータベースだ #jawsugsaga / S3 Vectors As A Serverless Vector Database
quiver
2
910
AWS DDoS攻撃防御の最前線
ryutakondo
1
170
Amazon Qで2Dゲームを作成してみた
siromi
0
160
GISエンジニアよ 現場に行け!
sudataka
1
130
AIのグローバルトレンド 2025 / ai global trend 2025
kyonmm
PRO
1
160
「AIと一緒にやる」が当たり前になるまでの奮闘記
kakehashi
PRO
3
160
「Roblox」の開発環境とその効率化 ~DAU9700万人超の巨大プラットフォームの開発 事始め~
keitatanji
0
140
Delegate authentication and a lot more to Keycloak with OpenID Connect
ahus1
0
230
Mackerel in さくらのクラウド
cubicdaiya
1
120
専門分化が進む分業下でもユーザーが本当に欲しかったものを追求するプロダクトマネジメント/Focus on real user needs despite deep specialization and division of labor
moriyuya
2
1.4k
Featured
See All Featured
Bash Introduction
62gerente
614
210k
The Language of Interfaces
destraynor
158
25k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Writing Fast Ruby
sferik
628
62k
The Cost Of JavaScript in 2023
addyosmani
53
8.8k
How GitHub (no longer) Works
holman
314
140k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Embracing the Ebb and Flow
colly
86
4.8k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
How to Think Like a Performance Engineer
csswizardry
25
1.8k
Transcript
J04DPNQBUJCJMJUZJTTVFT 6*5FYU7JFX BOETPPO IUUQTHJUIVCDPNLJTIJLBXBLBUTVNJ5FYU7JFX$PNQBUJCJMJUZ
؛ࠀݾ http://kishikawakatsumi.com Twitter @k_katsumi 24/7 twenty-four seven http://d.hatena.ne.jp/KishikawaKatsumi/
J04SFMFBTFECVUTPNFDSJUJDBM CVHTTUJMMSFNBJOFE w #SPLFO6*5FYU7JFX w #SPLFO6*4FBSDI#BS w #SPLFO6*1PQPWFS$POUSPMMFS TJODFBMPOHUJNFBHP
w (VJEFE"DDFTT w "JS1SJOU ʜBOETPPO
6*5FYU7JFX
/PUTDSPMMJOHUPDBSFUQPTJUJPOXIFOGPDVTFE 5IFDBSFUJTNBZCFIFSF
/PUTDSPMMJOHXIFOJOTFSUOFXMJOF
0DDVSTPO"QQMF`T"QQBOE'SBNFXPSLT
8PSLBSPVOE
- (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
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; }
3FBEEFWGPSVNCFGPSFVTJOH
3FBECFGPSFVTJOH w IUUQTEFWGPSVNTBQQMFDPNNFTTBHF w IUUQJOFTTFOUJBMDPNCVHT
0UIFS4PMVUJPOT w +545FYU7JFXIUUQTHJUIVCDPNKBSFETJODMBJS+545FYU7JFX w *$5FYU7JFXIUUQTHJUIVCDPN&YJMF*$5FYU7JFX w 4&$PSF5FYU7JFXIUUQTHJUIVCDPNLJTIJLBXBLBUTVNJ4&$PSF5FYU7JFX w IUUQTHJTUHJUIVCDPNBHJMFUPSUPJTFBDDCGEBBGCBCD w
IUUQTEFWGPSVNTBQQMFDPNNFTTBHF
+545FYU7JFX
.ZTBNQMFXPSLBSPVOE IUUQTHJUIVCDPNLJTIJLBXBLBUTVNJ5FYU7JFX$PNQBUJCJMJUZ
-JOLXJUI6*5FYU7JFX
4IPVMEVTFSEQBSUZMJCSBSJFT w 4&$PSF5FYU7JFXIUUQTHJUIVCDPNLJTIJLBXBLBUTVNJ4&$PSF5FYU7JFX w 8."5XFFU7JFXIUUQTHJUIVCDPNNBSLCFBUPO8."5XFFU7JFX w 555"UUSJCVUFE-BCFMIUUQTHJUIVCDPNNBUUU555"UUSJCVUFE-BCFM w 6;5FYU7JFXIUUQTHJUIVCDPNTPOTPOHJUIVC6;5FYU7JFX
4&$PSF5FYU7JFX
8."5XFFU7JFX
6;5FYU7JFX