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
260
Enhancing Applications with Accessibility API
kishikawakatsumi
3
4.5k
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.4k
GitHub Actionsでテストの結果をわかりやすく表示する
kishikawakatsumi
1
1.3k
Other Decks in Technology
See All in Technology
20250913_JAWS_sysad_kobe
takuyay0ne
2
250
スマートファクトリーの第一歩 〜AWSマネージドサービスで 実現する予知保全と生成AI活用まで
ganota
2
320
測りにくい成果を測る — BtoB SaaSにおける効果検証への挑戦 / Shirokane Kougyou vol 20
sansan_randd
1
110
まずはマネコンでちゃちゃっと作ってから、それをCDKにしてみよか。
yamada_r
2
120
Django's GeneratedField by example - DjangoCon US 2025
pauloxnet
0
160
Apache Spark もくもく会
taka_aki
0
140
[ JAWS-UG 東京 CommunityBuilders Night #2 ]SlackとAmazon Q Developerで 運用効率化を模索する
sh_fk2
3
460
「何となくテストする」を卒業するためにプロダクトが動く仕組みを理解しよう
kawabeaver
0
440
サラリーマンの小遣いで作るtoCサービス - Cloudflare Workersでスケールする開発戦略
shinaps
2
470
TS-S205_昨年対比2倍以上の機能追加を実現するデータ基盤プロジェクトでのAI活用について
kaz3284
1
230
AIエージェントで90秒の広告動画を制作!台本・音声・映像・編集をつなぐAWS最新アーキテクチャの実践
nasuvitz
3
380
Claude Code でアプリ開発をオートパイロットにするためのTips集 Zennの場合 / Claude Code Tips in Zenn
wadayusuke
5
2.5k
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
135
9.5k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Done Done
chrislema
185
16k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Into the Great Unknown - MozCon
thekraken
40
2k
Raft: Consensus for Rubyists
vanstee
140
7.1k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
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