我觉得我应该知道这一点但是我已经被困了好几个小时了,而且我已经没想完了.
理论很简单,用户使用夹点操纵滚动视图中的缩放和定位.如果他们在短时间内保持捏合,则滚动视图会记录缩放级别和内容偏移.
所以我想我会在scrollViewDidZoom委托方法上启动performSelector:withObject:withDelay.如果它到期,那么我记录设置.每次调用scrollViewDidZoom时以及捏合手势结束时,我都会删除预定的调用.
这就是我所拥有的:
- (void)scrollViewDidZoom:(UIScrollView *)scrollView{
NSLog(@"resetting timer");
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(positionLock) object:nil];
[self performSelector:@selector(positionLock) withObject:nil afterDelay:0.4];
}
-(void)positionLock{
NSLog(@"position locked ");
}
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale{
NSLog(@"deleting timer");
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(positionLock) object:nil];
}
Run Code Online (Sandbox Code Playgroud)
这是输出:
2010-05-19 22:43:01.931重置定时器
2010-05-19 22:43:01.964重置定时器
2010-05-19 22:43:02.231重置定时器
2010-05-19 22:43:02.253重置定时器
2010- 05-19 22:43:02.269重置定时器
2010-05-19 22:43:02.298重置定时器
2010-05-19 22:43:05.399删除定时器
正如您所看到的,最后一个和最后一个事件之间的延迟应该足以让延迟的选择器调用执行.
如果我用普通的performSelector替换performSelector:withObject:withDelay:我得到这个:
2010-05-19 23:08:30.333重置计时器
2010-05-19 23:08:30.333位置锁定
2010-05-19 23:08:30.366重置计时器
2010-05-19 23:08:30.367位置锁定
2010- 05-19 23:08:30.688删除计时器
这不是我想要的,但是用来表明它只是导致它不起作用的延迟,而不是选择器没有在标题中声明,拼写错误或任何其他原因.
关于它为什么不起作用的任何想法?
如何将Windows消息发送到我的应用程序中不是MainForm的表单?使用下面的代码给我一个访问冲突.
procedure TMainForm.SendMessageToAnotherForm;
begin
SendMessage(MyForm.Handle,WM_MY_MESSAGE,0,0);
end;
Run Code Online (Sandbox Code Playgroud)
MyForm已经创建,是最顶层的窗口.
编辑:我也尝试过PostMessage,但我收到了相同的访问冲突,我很肯定WM_MY_MESSAGE是有效的,因为我用它来与其他地方的MainForm进行通信.
您推荐哪些作为精心设计的艺术作品的前3个开源API(Java)?这将是您很乐意浏览并从中获得一些见解的代码.任何问题域都可以接受
这里强调的是教育/学习代码质量,复杂程度 - 从中到高.
非常感谢您的回复.
我的应用程序需要显示大量图像和视频.
运行ObjectAlloc工具后,我看到实时字节为640Kb,当应用程序崩溃时总内存为31,54Mb.
在组织者我得到一个"低内存"报告,所以我猜应用程序崩溃,因为内存不足但ObjectAllocation数据对我没有任何意义...
有任何想法吗?
这是Organizer崩溃日志:
Incident Identifier: CDCAF38C-CFFD-4316-9C4A-5C8E37794B49
CrashReporter Key: 65390aeb97b2b81076576c3e33b025feb5db9202
OS Version: iPhone OS 3.1.3 (7E18)
Date: 2010-05-19 10:07:19 +0200
Free pages: 372
Wired pages: 12260
Purgeable pages: 0
Largest process: DTMobileIS
Processes
Name UUID Count resident pages
ATreeTest <1d51c3a5fef8b747c3a1be9405bdd52a> 1150 (jettisoned) (active)
DTMobileIS <69c3fa96db2f29474d62964aa1a69bfa> 3316
notification_pro <8a7725017106a28b545fd13ed58bf98c> 68
mediaserverd <3d3800d6acfff050e4d0ed91cbe2467e> 464 (jettisoned)
syslogd <8eddddc00294d5615afded36ee3f1b62> 56 (jettisoned)
apsd <32070d91b216d806973c8f1b1d8077a4> 173
SpringBoard <324939a437d1cca1fa4af72d9f5d0eba> 2475 (jettisoned) (active)
accessoryd <8f21c8b376d16e2ccb95ed6d21d8317a> 99 (jettisoned)
notification_pro <8a7725017106a28b545fd13ed58bf98c> 64
ptpd <f5e735bffd0557fcdc53cb35b6d9ce66> 129
notifyd <591dd4dd804b4b8741f52335ea1fa4ab> 64
CommCenter …Run Code Online (Sandbox Code Playgroud) 为什么每个RDBMS都坚持要告诉它文本字段的最大长度是什么...为什么它不能只是将这些信息从放入数据库的数据中推断出来?
我主要使用MS SQL Server,但我知道的每个其他数据库也要求您在数据模式上设置这些任意限制.实际情况是,由于业务需求一直在变化,而且几乎每天都有一些最终用户试图将大量文本放入该列,因此这并不是特别有用或友好的.
是否有任何具有RDBMS内部工作知识的人知道为什么我们只是不推断存储数据的限制?我不是在猜测类型信息,而是猜测特定文本列的限制.
我的意思是,我没有在数据库中的每个文本列上使用nvarchar(max).
如何在运行maven build时停止"Maven 2.0集成"插件,同时保持"自动构建"检查?
我很确定它曾经是一些复选框,以禁用maven构建之前,但升级后的Ubuntu; eclipse似乎在这个过程中已经更新,现在我找不到任何方法来关闭maven构建.maven构建需要花费几分钟(大约5分钟左右),而刚刚运行的java构建只需几秒钟即可完成.
它是不是可以禁用它或它们只是隐藏它好吗?
如果不可能,eclipse能否在没有插件的情况下编译我的maven项目?
(试图谷歌找到一个解决方案关闭,我得到了答案是这个旧帖子的几个档案,答案基本上是"你应该能够在项目偏好中禁用Maven构建器......"这实际上并没有帮助,因为我那里找不到任何开/关设置)
我有一个选择列表,有很多选项.根据某些输入,我想隐藏选择列表中的几个选项.为了隐藏选择列表中的选项,我写了jquery之类的
$('#selectlist1 option').each(function(){
$(this).hide();
})
Run Code Online (Sandbox Code Playgroud)
但是这段代码似乎只适用于firefox,而且它不适用于chrome和ie.如果我写的话
$('#selectlist1').hide();
Run Code Online (Sandbox Code Playgroud)
它适用于所有浏览器.我应该看哪个指针?
我有一个相当奇怪的'bug'和一个简单的查询,我依稀记得很久以前在某个地方阅读它的原因,但是会喜欢有人来刷新我的记忆.
该表是一个基本ID,Datetime表.
查询是:
select ID, Datetime from Table where Datetime <= '2010-03-31 23:59:59'
Run Code Online (Sandbox Code Playgroud)
问题是查询结果包括Datetime为'2010-04-01 00:00:00'的结果.第二天.它不应该.
任何人?
干杯
武
在第一次访问网站时,是否可以通过GET请求知道浏览器cookie是否已激活?
特别是在J2EE上下文中是否可能?在服务器端(没有ajax/js解决方案)
在C#中,删除空行的最佳方法是什么,即只包含字符串空格的行?如果这是最好的解决方案,我很高兴使用正则表达式.
编辑:我应该添加我使用.NET 2.0.
赏金更新:奖励之后我会回滚,但我想澄清一些事情.
首先,任何Perl 5 compat正则表达式都可以.这不仅限于.NET开发人员.标题和标签已经过编辑以反映这一点.
其次,虽然我在赏金细节中给出了一个简单的例子,但它并不是你必须满足的唯一测试.您的解决方案必须删除除空格以外的所有行,以及最后一行换行符.如果有一个字符串,在运行正则表达式后,以"/ r/n"或任何空白字符结尾,则会失败.
iphone ×2
java ×2
sql-server ×2
api ×1
build ×1
c# ×1
cocoa-touch ×1
cookies ×1
delphi ×1
delphi-7 ×1
eclipse ×1
java-ee ×1
jquery ×1
m2eclipse ×1
maven-2 ×1
memory ×1
preferences ×1
regex ×1
sqldatatypes ×1
string ×1
t-sql ×1
uiscrollview ×1