- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
注意:在此处查看 Thuy 的 UINavBar 优秀子类:
https://stackoverflow.com/a/20720359/294884
如果您正在解决这个问题,GTScrollNavigationBar 已经接近于导航栏问题的现成解决方案!
例如:在 2014 年的 iPhone 上,打开 Safari,加载任何网页。
查看底部的 iOS 工具栏。
现在上下移动你的手指 只有几个像素 .
基本上是底部的工具栏,用手指移动 .此外,工具栏后面滚动页面时出现/消失 ,遵循特定的逻辑。
但是交互规则是非常复杂 , 并涉及隐藏期间的手指开/关、距离匹配、页面下方时的手势、非常短页面的特殊情况等。
我要正是复制苹果的行为。
(我们应该匹配 Apple UX,这似乎是明智的。)
有没有办法做到这一点? Apple 是否为此提供了一个我不知道的一步命令?或者你必须费力地复制这个概念?
谢谢。
顺便说一句,下面的逻辑是可靠的,会大致重复 苹果的做法是:
-(void)feedIsScrolled:(CGFloat)scrollNewOverallYPosition
{
// call this routine when scrollViewDidScroll:
self.feedIsScrolledDelta =
scrollNewOverallYPosition - self.feedIsScrolledPrevious;
self.feedIsScrolledPrevious =
scrollNewOverallYPosition;
// nb, you do those only in this routine, NOT the following routine.
if ( scrollNewOverallYPosition < 15.0 )
{
.. animate in the bar
return;
}
if ( self.feedIsScrolledDelta > 0.0 )
.. animate away the bar
}
-(void)feedIsThrown:(CGFloat)scrollNewOverallYPosition
{
// call this routine when scrollViewDidEndDragging:
// BUT ONLY when willDecelerate: is true
if ( self.feedIsScrolledDelta <= 0.0 )
.. animate in the bar
else
.. animate away the bar
}
顺便说一句,当然你可以使用
(void)setToolbarHidden:(BOOL)hidden animated:(BOOL)animated
上下滑动 UIToolbar。但是这对“手指匹配”没有任何帮助。
最佳答案
没有开源可以做到这一点,但我不认为它很难实现。像 Safari 一样拥有精确的 1:1 行为可能有些困难,但仍然可以做到。
MobileSafar 可以附加到调试器中,并使用断点和 Objective C 运行时进行调试和逆向工程。
例如,您没有使用工具栏和导航栏的两个假设是不正确的。
这是滚动前的 View 层次结构:
http://pastebin.com/aRXr7b5Z
滚动后:
http://pastebin.com/CasBNuxq
如您所见,条形图已从其正常位置移开。
打破上 -[BrowserToolbar setFrame:]
,这是堆栈跟踪:
* thread #1: tid = 0x2332c, 0x000000010003fa70 MobileSafari`___lldb_unnamed_function1519$$MobileSafari, queue = 'com.apple.main-thread', stop reason = breakpoint 8.1
* frame #0: 0x000000010003fa70 MobileSafari`___lldb_unnamed_function1519$$MobileSafari
frame #1: 0x0000000100023e51 MobileSafari`___lldb_unnamed_function825$$MobileSafari + 1338
frame #2: 0x00000001000268da MobileSafari`___lldb_unnamed_function871$$MobileSafari + 55
frame #3: 0x000000010009856a MobileSafari`___lldb_unnamed_function3864$$MobileSafari + 388
frame #4: 0x0000000100098996 MobileSafari`___lldb_unnamed_function3871$$MobileSafari + 154
frame #5: 0x000000010002ba89 MobileSafari`___lldb_unnamed_function990$$MobileSafari + 209
frame #6: 0x0000000102396a8c UIKit`-[UIScrollView(UIScrollViewInternal) _notifyDidScroll] + 55
frame #7: 0x000000010238692b UIKit`-[UIScrollView setContentOffset:] + 628
frame #8: 0x000000010238ab00 UIKit`-[UIScrollView _updatePanGesture] + 1989
frame #9: 0x0000000102644002 UIKit`_UIGestureRecognizerSendActions + 188
frame #10: 0x0000000102642f68 UIKit`-[UIGestureRecognizer _updateGestureWithEvent:buttonEvent:] + 357
frame #11: 0x0000000102647319 UIKit`___UIGestureRecognizerUpdate_block_invoke + 53
frame #12: 0x00000001026472a1 UIKit`_UIGestureRecognizerRemoveObjectsFromArrayAndApplyBlocks + 257
frame #13: 0x000000010263f377 UIKit`_UIGestureRecognizerUpdate + 93
frame #14: 0x0000000102353e55 UIKit`-[UIWindow _sendGesturesForEvent:] + 928
frame #15: 0x0000000102354b14 UIKit`-[UIWindow sendEvent:] + 909
frame #16: 0x000000010232c6da UIKit`-[UIApplication sendEvent:] + 211
frame #17: 0x0000000102319f2d UIKit`_UIApplicationHandleEventQueue + 9579
frame #18: 0x0000000100573f21 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
frame #19: 0x00000001005737f2 CoreFoundation`__CFRunLoopDoSources0 + 242
frame #20: 0x000000010058f66f CoreFoundation`__CFRunLoopRun + 767
frame #21: 0x000000010058ef83 CoreFoundation`CFRunLoopRunSpecific + 467
frame #22: 0x00000001011a0f04 GraphicsServices`GSEventRunModal + 161
frame #23: 0x000000010231c273 UIKit`UIApplicationMain + 1010
frame #24: 0x00000001000518d2 MobileSafari`___lldb_unnamed_function1998$$MobileSafari + 1558
MobileSafari'___lldb_unnamed_function990$$MobileSafari
上设置了一个断点并获得
self
可变,打印
po $arg1
.这是所有魔法发生的地方:
关于ios7 - 显示/隐藏 UIToolbar, "match finger movement",例如 iOS7 Safari,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21929220/
我是新来的,希望了解有关 bash 编程的更多信息。 首先我需要一些有关手指命令的帮助。当我只使用“手指”时,这就是我得到的输出,显然带有一些数据集。 Login Name Tty Id
我遇到了一个有趣的问题。我的系统是华硕笔记本电脑上的 Arch Linux(最新)。现在,真正奇怪的问题是: finger 不会随 Arch 自动安装。我试图使用 pacman 来安装它,但它不在存储
我有当前代码: - (void) touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { self.objectPoint = [
现在我们的应用程序已经发货,我们的培训负责人有一个请求: “该应用程序很酷,但我们需要一种显示手指运动的模式,例如手势在模拟器中的显示方式或 iPad 在 Keynote 中的激光指示器模式 [这样我
当我从项目上移开手指时,我需要实现功能。所以我需要一些 Activity 。 ***Scenario:*** 1. Touch the image view using finger. 2. Remo
我正在使用 WM6 SDK 在我的 Pocket PC 上开发一个小工具,但我想实现一个手指友好的用户界面(类似 iphone)。所以我正在寻找一个免费的 .NET 框架,它提供了为 Windows
谷歌最近在那里重新设计了移动行为 map 。现在在移动设备上,您可以用两根手指移动 map 。 (请参阅手机上的 map-simple 示例,而不是任何浏览器模拟器!)。 我想在 openlayer
我需要检测用户“手指按压”,已经有“点击”事件,但是 tap = press + release . 我需要完全在手指按下时调用 JS 函数,就像 keypress()适用于标准浏览器。 最佳答案 已
在我的网站上,我有一些隐藏/显示 JavaScript(如下)。它通常用在常见问题解答中,您可以在其中看到问题列表,当滚动问题时它会改变颜色并单击它会打开文本。 我希望在滚动文本时将光标更改为“手指指
我有一个用 javascript 编写的网络应用程序,它使用 google maps api 来映射某些特征。但是,当使用触摸屏计算机的用户尝试使用 map 时,我遇到了一些不需要的结果。 具体来说,
是否有一种方法/类可以检测手指从一侧滑出屏幕时是否离开屏幕? 谢谢。 最佳答案 您可以尝试使用 touchesEnded 来检测触摸结束时手指的位置。如果在屏幕边的边缘,可以推断用户已经离开了屏幕。
我有一个非常愚蠢的问题-.-以下: 它的 KnockoutJS结合一点 SammyJS ...atm 你看我在'li'里面有一个'a'......所以鼠标悬停时会出现这个“手
我想在用户抬起手指之前在移动设备上显示 :active CSS 效果。目前正在使用 :active 并在手指抬起后显示其效果。我发现具有我喜欢的效果的少数网站之一是亚马逊的按钮。 最佳答案 a:hov
cmd finger -s 以以下格式给出输出: Login Name Tty Idle Login Time Office
我是 Android 开发的新手,正在从事一项针对盲人的无障碍功能研究项目(Jelly Bean API 级别 17 项目)。我一直在试验一些手势,双指拖动 手势确实很难实现。下图很好地捕捉到了我实际
我创建了一个可以绘图的 View ,但是当我绘图时,该线是在光标或手指的下方创建的。 红线是我的手指或光标的移动,黑线是绘制的内容 class DrawViewController: UIVie
我正在尝试制作一个画板应用。 我使用 UIScrollView 进行分页,使用 UIImageView 进行绘图。 我将 UIImageView 放在 scrollView 的顶部,但它没有添加到 U
我有一个包含大量单元格的 UICollectionView。 我实现了两个功能: 单击一个单元格:推送一个 View 。 双击单元格:按 B View 。 问题是: 如果我同时点击两个单元格(或更多)
我有一个游戏,玩家 move 到一个触摸点(如果触摸 move 则更新目的地)。一切正常,直到相机 move 而触摸不动(手指停留在屏幕上,因此既不调用 touchMoved 也不调用 touches
在android中,'res'下有不同的子目录 布局 布局手指 布局着陆指 有人可以解释一下这些目录之间有什么区别吗? 谢谢 最佳答案 官方解释在SDK documentation .假设只有这三个布
我是一名优秀的程序员,十分优秀!