我正在尝试创建一个按钮,在图标下面有一些文字(有点像app按钮)但是它似乎很难实现.任何想法我怎样才能让文字显示在图像下方UIButton?
我想知道将自定义数据放入HTTP授权标头是否可以接受.我们正在设计RESTful API,我们可能需要一种方法来指定自定义授权方法.举个例子,我们称之为FIRE-TOKEN身份验证.
根据规范,这样的事情是否有效并允许: Authorization: FIRE-TOKEN 0PN5J17HBGZHT7JJ3X82:frJIUN8DYpKDtOLCwo//yllqDzg=
第二个字符串的第一部分(在':'之前)是API密钥,第二部分是查询字符串的哈希.
我有一个UIButton,其中有一个UITableViewCell内的图像.当单元格突出显示时,无论用户是否在按钮的边界内单击,该按钮也进入突出显示状态(即图像的较暗阴影).
我不想要这个功能 - 我只想在单击按钮时突出显示按钮,而不是在单击整个单元格时突出显示按钮.
我试图将突出显示状态的图像设置为与普通图像相同.这解决了问题,但它突然停止按钮更改颜色.
任何想法如何达到预期的效果?
我需要在从Acegi类调用的POJO中获取当前页面URL(需要为我正在处理的应用程序添加一些自定义逻辑)并且需要检索HttpServletRequest以便我可以获取子域的URL(逻辑所基于的URL).
我试过添加:
@Autowired
private HttpServletRequest request;
...
public void setRequest(HttpServletRequest request) {
this.request = request;
}
public HttpServletRequest getRequest() {
return request;
}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试在我的代码中使用请求对象时,它为null.
知道我做错了什么或者我怎么能更好地做到这一点?
突然间,我有一点OO危机.在过去的几年里,我已经很好地利用了Singleton对象.我在很多地方使用它们.
例如,在设计MVC Java应用程序时,我创建了一个Singleton'SystemRegistry'类来存储模型和视图类(我只处理过简单的应用程序,并且不需要多个视图).
当我创建我的模型并查看对象(不是单例,只是普通对象)时,我会做类似的事情:
SystemRegistry.getInstance().setModel(model);
Run Code Online (Sandbox Code Playgroud)
在我的控制器类(几乎是不同GUI项的事件处理程序)中,我可以访问视图或模型,如下所示:
SystemRegistry.getInstance().getView();
Run Code Online (Sandbox Code Playgroud)
我永远不会在我的应用程序的模型部分中使用SystemRegistry类,但有时会在我的视图中使用它来访问(但很少,如果有的话,修改)模型中的信息.
从我读过的内容(特别是Steve Yegge的文章)来看,这似乎是设计我的应用程序的一种糟糕方式.关于更好地构建代码的方法的任何想法.
此外,我设计类的另一个方面是使用'经理类型'类,这些类可能与单身人士有关,也可能与单身人士无关.一个例子是我用C++创建的(非常简单的)基于OpenGL的游戏引擎.
主要的课程是GameEngine.正是过度激励的类存储了一堆经理并处理了主循环而没有.存储在这个类中的一些管理器是:ObjectManager,RenderingManager,LightingManager,EventManager(包括输入),HUDManager,FrameRateManager,WindowManager等.可能还有一些.
基本上这些类处理游戏引擎的不同方面.名称非常简单,因此您应该能够很好地了解它们的使用方式.
现在,这应该是一个可重用的基础,我可以在不同的项目中使用,需要理想地改变它.
在每个新游戏中,我将创建一个GameEngine实例作为一个类范围的变量(大多数游戏逻辑存储在一个类中)并设置不同的管理器(例如,加载窗口坐标或照明文件中的详细信息,设置FPS等).要在ObjectManager中注册一个对象,我会做类似的事情:
Player player = new Player();
gameEngine.getObjectManager().addObject(player);
Run Code Online (Sandbox Code Playgroud)
此对象现在将存储在ObjectManager类的向量中,并在GameEngine在每个帧中调用ObjectManager drawObjects()方法时绘制.
在关于Singletons的文章之后我可能会有点偏执(可能没有足够的时间来绕过它),但我开始猜测并且想知道我设计GameEngine的方式是否合适(由于缺乏一个更好的词而且并没有陷入单身人士模式所共有的陷阱.
对我的帖子的任何评论将不胜感激.
编辑:谢谢你的回答.我非常感激他们.如果可能的话,如果有人能给我一些关于上面发布的两个项目方案的提示,我会很高兴.我怎么能避免使用单身人士/经理?
对于第一个,DI会得到正确的答案吗?我是否应该给视图访问模型(这可能更像是一个MVC响应)?该视图是否会受益于实现接口(以便可以插入多个不同的视图)?
在第二种情况下,如何构建应用程序?抱怨只是使用经理类而不是更具体的名称?或者是,在某些情况下,类可以进一步细分(例如ObjectHolder,ObjectDrawer,ObjectUpdater)?
我目前正在实施一个小型的演示应用程序试图让我的头脑与HTML5拖放.我正在尝试做的是在用户拖动时获取光标的位置,但是我遇到了一些问题.
拖动时似乎'mousemove'事件没有被触发,这阻止了我搞清楚鼠标的当前位置.我可以使用'drag'事件,但我无法弄清楚如何从'drag'事件对象中获取位置.
我注意到如果我这样做:
Array(n).map(() => console.log('test'))
Run Code Online (Sandbox Code Playgroud)
我没有打印任何东西.
但是,如果我这样做:
Array(n).fill().map(() => console.log('test'))
Run Code Online (Sandbox Code Playgroud)
我test打印出来的n时间.
为什么会这样?如果我这样做,Array(n).length我会回来n.
我注意到在REPL中Array(5)返回:
[ , , , , ]
而Array(5).fill()回报:
[ undefined, undefined, undefined, undefined, undefined ]
在这两种情况下,typeof数组中的任何元素=== undefined.
发生什么了?
我正在使用Seam框架和RichFaces AJAX库开发一个网站(这些对于手头的问题并不是那么重要 - 只是一些背景).
我似乎在RichFaces中发现了一个错误,在某些情况下,它会导致基于AJAX的更新在IE8中失败(有关详细信息,请参阅此处:http://community.jboss.org/message/585737).
以下是发生异常的代码:
var anchor = oldnode.parentNode;
if(!window.opera
&& !A4J.AJAX.isWebkitBreakingAmps()
&& oldnode.outerHTML
&& !oldnode.tagName.match( /(tbody|thead|tfoot|tr|th|td)/i ) ) {
LOG.debug("Replace content of node by outerHTML()");
if (!Sarissa._SARISSA_IS_IE || oldnode.tagName.toLowerCase()!="table") {
try {
oldnode.innerHTML = "";
} catch(e){
LOG.error("Error to clear node content by innerHTML "+e.message);
Sarissa.clearChildNodes(oldnode);
}
}
oldnode.outerHTML = new XMLSerializer().serializeToString(newnode);
}
Run Code Online (Sandbox Code Playgroud)
最后一行(使用XMLSerializer的那一行)是IE中发生异常的地方.我想知道是否有人知道我可以在那里使用的任何替换方法/库/等(仅在IE上很好).谢谢.
编辑:经过一些进一步的研究后,似乎异常不是由XMLSerializer未定义引起的,而是当我尝试将XMLSerializer的输出分配给oldnode的outerHTML属性时.
这很奇怪,因为它大部分时间都有效,但仅在几个场景中失败(这个框架似乎相当重要).
任何人都可以想到什么时候XMLSerializer的输出(从调试器显示的内容看起来是非常有效的HTML)对于元素的outerHTML属性是不可分配的?
最奇怪的是,如果我要克隆元素(使用cloneNode(true))然后设置outerHTML,它似乎工作.
http://ejohn.org/files/pretty.js
// Takes an ISO time and returns a string representing how
// long ago the date represents.
function prettyDate(time){
var date = new Date((time || "").replace(/-/g,"/").replace(/[TZ]/g," ")),
diff = (((new Date()).getTime() - date.getTime()) / 1000),
day_diff = Math.floor(diff / 86400);
if ( isNaN(day_diff) || day_diff < 0 || day_diff >= 31 )
return;
return day_diff == 0 && (
diff < 60 && "just now" ||
diff < 120 && "1 minute ago" ||
diff < 3600 && Math.floor( …Run Code Online (Sandbox Code Playgroud) 我已经获得了使用2.3 servlet规范将i18n引入J2EE Web应用程序的(相当艰巨的)任务.该应用程序非常庞大,已经积极开发了8年多.
因此,我希望第一次就把事情做好,这样我就可以限制我需要在JSP,JavaScript文件,servlet和其他任何地方乱写的时间,用消息包中的值替换硬编码的字符串.
这里没有使用框架.我怎样才能支持i18n.请注意,我希望每个视图都有一个JSP,它可以从(a)属性文件加载文本,而不是为每个支持的语言环境加载不同的JSP.
我想我的主要问题是我是否可以在'后端'中的某处设置区域设置(即在登录时从用户配置文件中读取区域设置并在会话中存储值),然后期望JSP页面能够正确加载指定的字符串.正确的属性文件(即,当语言环境为法语时,来自messages_fr.properties),而不是添加逻辑以在每个JSP中查找正确的语言环境.
我有什么想法可以解决这个问题吗?