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
Achieving Testability in Presentation Layer
ishkawa
4
3.6k
Introducing Wire: Dependency Injection by Code Generator
ishkawa
12
1.2k
Declarative UICollectionView
ishkawa
28
7.9k
Nuxt.jsが掲げる"Universal Vue.js Applications"とは何者か
ishkawa
10
2.7k
Static Dependency Injection by Code Generation
ishkawa
15
6.2k
実践クライアントサイドSwift
ishkawa
24
4.1k
JSON-RPC on APIKit
ishkawa
5
53k
RxSwiftは開発をどう変えたか?
ishkawa
12
3.8k
Swift + JSON-RPC
ishkawa
0
50k
Other Decks in Technology
See All in Technology
AWSではじめる Web APIテスト実践ガイド / A practical guide to testing Web APIs on AWS
yokawasa
8
780
クラウド食堂とは?
hiyanger
0
130
困難を「一般解」で解く
fujiwara3
7
2.2k
目標と時間軸 〜ベイビーステップでケイパビリティを高めよう〜
kakehashi
PRO
8
1k
OPENLOGI Company Profile
hr01
0
60k
JAWS FESTA 2024「バスロケ」GPS×サーバーレスの開発と運用の舞台裏/jawsfesta2024-bus-gps-serverless
ma2shita
3
340
ABWG2024採択者が語るエンジニアとしての自分自身の見つけ方〜発信して、つながって、世界を広げていく〜
maimyyym
1
220
Qiita Organizationを導入したら、アウトプッターが爆増して会社がちょっと有名になった件
minorun365
PRO
1
320
20250304_赤煉瓦倉庫_DeepSeek_Deep_Dive
hiouchiy
2
130
AI Agent時代なのでAWSのLLMs.txtが欲しい!
watany
3
370
RaspberryPi CM4(CM5も)面白いぞ!
nonnoise
0
110
30→150人のエンジニア組織拡大に伴うアジャイル文化を醸成する役割と取り組みの変化
nagata03
0
350
Featured
See All Featured
Six Lessons from altMBA
skipperchong
27
3.6k
Git: the NoSQL Database
bkeepers
PRO
428
65k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
660
Done Done
chrislema
182
16k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
380
Measuring & Analyzing Core Web Vitals
bluesmoon
6
260
What's in a price? How to price your products and services
michaelherold
244
12k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
440
Optimizing for Happiness
mojombo
377
70k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
Scaling GitHub
holman
459
140k
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’