小编Aar*_*ron的帖子

Apple如何在打开时更新机场菜单?(如何在NSMenu已经打开时更改)

我有一个弹出打开NSMenu的状态栏项目,我有一个委托集,它正确连接(-(void)menuNeedsUpdate:(NSMenu *)menu工作正常).也就是说,该方法设置为在显示菜单之前调用,我需要监听并触发异步请求,稍后在菜单打开时更新菜单,我无法弄清楚应该如何完成.

谢谢 :)

编辑

好的,我现在在这里:

单击菜单项(在状态栏中)时,将调用一个运行NSTask的选择器.我使用通知中心来监听该任务何时完成,并写下:

[[NSRunLoop currentRunLoop] performSelector:@selector(updateTheMenu:) target:self argument:statusBarMenu order:0 modes:[NSArray arrayWithObject:NSEventTrackingRunLoopMode]];
Run Code Online (Sandbox Code Playgroud)

并有:

- (void)updateTheMenu:(NSMenu*)menu {
    NSMenuItem *mitm = [[NSMenuItem alloc] init];
    [mitm setEnabled:NO];
    [mitm setTitle:@"Bananas"];
    [mitm setIndentationLevel:2];
    [menu insertItem:mitm atIndex:2];
    [mitm release];
}
Run Code Online (Sandbox Code Playgroud)

这个方法肯定被调用,因为如果我单击菜单并立即返回到它,我会得到一个包含此信息的更新菜单.问题是它没有更新 - 而菜单是打开的.

cocoa objective-c statusbar nsmenu nsmenuitem

34
推荐指数
3
解决办法
4987
查看次数

设备纵横比(媒体查询)不适用于Droid 2

我有一些内容需要不同的样式最终基于宽高比(基本上它是针对一个平台,但作为一个"会很好"我想让内容至少在其他平台上显得正确).我发现Droid 2(Android 2.2股票)没有响应任何这些查询:

only all and (device-aspect-ratio: 854/480)
only all and (device-aspect-ratio: 480/854)
only all and (aspect-ratio: 854/480)
only all and (aspect-ratio: 480/854)
Run Code Online (Sandbox Code Playgroud)

手机或操作系统是否不支持宽高比查询?Droid 2是否充满悲伤?到目前为止,宽高比测试对iPhone 3GS/4/4S和iPad来说非常有效.或者,如果他们实际上不支持设备宽高比,那么在我的iOS宽高比测试后,有人会建议处理Droid 2/Nexus分辨率.

我正试图回避使用max-width,因为横向上的某些Android设备比纵向上的iPad宽,而且我遇到了设备根据设定宽度错误地识别为iPad的冲突.任何见解将不胜感激.

css android aspect-ratio media-queries

7
推荐指数
1
解决办法
1349
查看次数

jPanelMenu在IE中无法正常工作(所有版本)

我正在我的一个网站上使用jPanelMenu jQuery插件.我注意到IE(所有版本)都存在问题.

当菜单被触发时,它会按预期滑入.单击菜单项后,页面将滚动到所需的部分并再次关闭.当菜单关闭时,网站的右侧会产生不必要的保证金.再次打开菜单时,它的大小只有一半,并再次缩小内容的间隙.

这是一个小提琴:http: //jsfiddle.net/huzLU/1/

三个屏幕截图显示了IE中的问题:

这是我用于菜单的代码:

<script>
$(document).on('touchend',jP.panel,function(e){
e.preventDefault();
if ( jP.menuIsOpen() ) jP.closeMenu(jP.options.animated);
});

$(document).on('click',jP.panel,function(e){
e.preventDefault();
if ( jP.menuIsOpen() ) jP.closeMenu(jP.options.animated);
});
</script>

<script>
$(document).ready(function(){
var jPM = $.jPanelMenu({
closeOnContentClick: false
});
jPM.on();

$('a[href^="#"]').on('click',function (e) {
e.preventDefault();

var target = this.hash,
$target = $(target);

$('html, body').stop().animate({
'scrollTop': $target.offset().top-50
}, 900, 'swing', function () {
window.location.hash = target;
});
setTimeout(function() {
jPM.close(true);
}, 900, 'swing');
});

});
</script>
Run Code Online (Sandbox Code Playgroud)

也; 这是该网站的链接:www.didson.nl

我希望有人可以帮助我,提前谢谢!

javascript css jquery internet-explorer jpanelmenu

7
推荐指数
1
解决办法
313
查看次数

JavaScript,时区和夏令时

欢迎来到本周的又一个时区问题:

我已经做了很多关于SO的阅读,试图操纵moment.js和date.js来帮助我,并且自从我开始尝试解决这个问题以来,一般都被一种沮丧的感觉所困扰,所以如果有人可以提供帮助或指出我在SO上的重复问题,我一直无法找到,那真是太棒了.


我有一个页面.此页面显示一系列时间,例如:7:28,7:38,7:48.我知道这些是AM/PM.这些时间总是美国/纽约(当夏令时变化时它们不会改变,因为它们对应的事件总是发生在那个时候,无论DST如何).我们称他们为时间表.我想强调接下来的时间.

  • 对于生活在美国/纽约的人来说,这是微不足道的.
  • 这对生活在美国/洛杉矶的人来说并不太可怕(假设我的逻辑有效).
    • 我可以将美国/洛杉矶的计算机当前时间转换为UTC,然后确定美国/洛杉矶目前是否正在观察夏令时,并确定美国/纽约应该是-0400还是-0500,应用它到UTC,并进行比较.这有点伤害,因为你仍然总是处理美国/洛杉矶的日期而不是实际更改Date对象的时区,但我有一个可靠的方法来回退(或转发)UTC的小时数时间.

但是,当我试图确定是否从一个没有遵守夏令时的地区的计算机中观察到夏令时时,会发生什么?

根据我的知识,JavaScript只会为当前时区创建Date对象,然后根据Date对象进行DST的任何确定.

我应该不在乎吗?时代主要仅与生活在美国/纽约的人有关.我只是试图建立一个从另一个时区观看时有意义的应用程序,这样当它在country_without_DST的3AM以及它在美国/纽约的下午2点时,'时间表'突出显示下午2:05的事情即将发生,不是凌晨3:05的事情.

javascript timezone dst

6
推荐指数
2
解决办法
7936
查看次数

jQuery .animate/.each chaining

我正在尝试将匹配的东西组合起来:

$(".item").each(function(i) {
    //animation here
});
Run Code Online (Sandbox Code Playgroud)

使用jQuery固有的链接功能,强制动画等待上一个动画完成,例如:

$(".item").each(function(i) {
    $(this).animate({marginLeft:"0"}, 60);
});
Run Code Online (Sandbox Code Playgroud)

然后在动画完成后触发.load函数.基本上,我想按顺序淡出四个项目[一个接一个,而不是一次全部],然后将四个新项目加载到同一个div中,替换前四个.

我怎样才能以可重用/可变的方式做到这一点?

jquery jquery-chaining jquery-animate

0
推荐指数
1
解决办法
8440
查看次数