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
UINavigationBarの隅々までタップしたい
Search
Yosuke Ishikawa
November 13, 2013
Technology
2
11k
UINavigationBarの隅々までタップしたい
2013/11/13 potatotips
https://github.com/potatotips/potatotips/wiki/potatotips-1
Yosuke Ishikawa
November 13, 2013
Tweet
Share
More Decks by Yosuke Ishikawa
See All by Yosuke Ishikawa
効率的な開発手段として VRTを活用する
ishkawa
1
180
アプリを起動せずにアプリを開発して品質と生産性を上げる
ishkawa
0
4.2k
Achieving Testability in Presentation Layer
ishkawa
4
3.8k
Introducing Wire: Dependency Injection by Code Generator
ishkawa
12
1.3k
Declarative UICollectionView
ishkawa
28
8.1k
Nuxt.jsが掲げる"Universal Vue.js Applications"とは何者か
ishkawa
10
2.8k
Static Dependency Injection by Code Generation
ishkawa
15
6.4k
実践クライアントサイドSwift
ishkawa
24
4.2k
JSON-RPC on APIKit
ishkawa
5
60k
Other Decks in Technology
See All in Technology
kintone開発チームの紹介
cybozuinsideout
PRO
0
73k
Vault meets Kubernetes
mochizuki875
0
140
事業価値と Engineering
recruitengineers
PRO
6
4.7k
実践アプリケーション設計 ①データモデルとドメインモデル
recruitengineers
PRO
5
1.2k
Kiroと学ぶコンテキストエンジニアリング
oikon48
3
570
知られざるprops命名の慣習 アクション編
uhyo
11
2.8k
プロダクトの成長に合わせたアーキテクチャの段階的進化と成長痛、そして、ユニットエコノミクスの最適化
kakehashi
PRO
1
110
AI時代に非連続な成長を実現するエンジニアリング戦略
sansantech
PRO
2
710
AIエージェントの開発に必須な「コンテキスト・エンジニアリング」とは何か──プロンプト・エンジニアリングとの違いを手がかりに考える
masayamoriofficial
0
470
実践AIガバナンス
asei
3
220
制約理論(ToC)入門
recruitengineers
PRO
8
3.4k
Microsoft Fabric のネットワーク保護のアップデートについて
ryomaru0825
1
120
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
How to Think Like a Performance Engineer
csswizardry
26
1.8k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
110
20k
Become a Pro
speakerdeck
PRO
29
5.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
A better future with KSS
kneath
239
17k
How to train your dragon (web standard)
notwaldorf
96
6.2k
Designing for Performance
lara
610
69k
Transcript
UINavigationBarͷ ۱ʑ·Ͱλοϓ͍ͨ͠ @_ishkawa
None
GHFeed
ຊ
Custom View λοϓ͍ͨ͠ͱ͜Ζ
͔ͯ͠͠ɿ ✗ Tips ✓ όουϊϋ
ΞΠσΟΞ ✓ UINavigationBarͷhitTest:withEvent:Λվ
hitTest:withEvent: leftBarButtonItem.customView
hitTest:withEvent: navigationBar
͜ͷͱ͖
for (UIView *subview in barButtonItem.customView.subviews) { UIView *customView = barButtonItem.customView;
CGRect convertedRect = [self convertRect:subview.frame fromView:customView]; ! if (CGRectContainsPoint(convertedRect, point)) { CGPoint convertedPoint = [self convertPoint:point toView:subview]; return [subview hitTest:convertedPoint withEvent:event]; } } ʢcustomView.subviews͔Βhit͢ΔͷΛ୳͢ʣ
ͬͯΔͱ
ίίʹϘλϯ͕͋ͬͯԠͰ͖Δʂ
ҰԠϥΠϒϥϦʹ͠·ͨ͠
ISInteractiveEdgesNavigationBar https://github.com/ishkawa/ISInteractiveEdgesNavigationBar
͍ํ Class navigationBarClass = [ISInteractiveEdgesNavigationBar class]; Class toolbarClass = [UIToolbar
class]; ! UINavigationController *navigationController = [[UINavigationController alloc] initWithNavigationBarClass:navigationBarClass toolbarClass:toolbarClass];
pod ‘ISInteractiveEdgesNavigationBar‘, ‘~> 0.0.2’