我正在研究一些类似自动收报机的功能,并且正在使用UICollectionView
.它最初是一个scrollView,但我们认为collectionView可以更容易地添加/删除单元格.
我使用以下内容为collectionView设置动画:
- (void)beginAnimation {
[UIView animateWithDuration:((self.collectionView.collectionViewLayout.collectionViewContentSize.width - self.collectionView.contentOffset.x) / 75) delay:0 options:(UIViewAnimationOptionCurveLinear | UIViewAnimationOptionRepeat | UIViewAnimationOptionBeginFromCurrentState) animations:^{
self.collectionView.contentOffset = CGPointMake(self.collectionView.collectionViewLayout.collectionViewContentSize.width, 0);
} completion:nil];
}
Run Code Online (Sandbox Code Playgroud)
这适用于滚动视图,动画发生在集合视图中.但是,实际上只渲染动画结尾处可见的单元格.cellForItemAtIndexPath
调用contentOffset不会导致调用.当contentOffset更改时,如何让单元格呈现?
编辑:更多参考(不确定它是否有很多帮助):
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
TickerElementCell *cell = (TickerElementCell *)[collectionView dequeueReusableCellWithReuseIdentifier:@"TickerElementCell" forIndexPath:indexPath];
cell.ticker = [self.fetchedResultsController objectAtIndexPath:indexPath];
return cell;
}
- (void)controllerDidChangeContent:(NSFetchedResultsController *)controller {
// ...
[self loadTicker];
}
- (void)loadTicker {
// ...
if (self.animating) {
[self updateAnimation];
}
else {
[self beginAnimation];
}
}
- (void)beginAnimation …
Run Code Online (Sandbox Code Playgroud) 我有两个我创建的XML文档,我想将这两个文档组合在一个新的信封中.所以我有
<alert-set>
<warning>National Weather Service...</warning>
<start-date>5/19/2009</start-date>
<end-date>5/19/2009</end-date>
</alert-set>
Run Code Online (Sandbox Code Playgroud)
和
<weather-set>
<chance-of-rain type="percent">31</chance-of-rain>
<conditions>Partly Cloudy</conditions>
<temperature type="Fahrenheit">78</temperature>
</weather-set>
Run Code Online (Sandbox Code Playgroud)
我想要做的是在根节点内组合两个:<DataSet>组合文档</ DataSet>
我已经尝试创建临时文档并用文档的根节点替换子项:
<DataSet>
<blank/>
<blank/>
</DataSet>
Run Code Online (Sandbox Code Playgroud)
我希望用两个文件的根元素替换这两个空格,但我得到"WRONG_DOCUMENT_ERR:一个节点用在与创建它的文档不同的文档中." 我尝试采用并导入根节点,但我得到了同样的错误.
是否有一些简单的方法来组合文档而无需通读并为每个节点创建新元素?
编辑:示例代码片段现在只是尝试将一个移动到"空白"文档... importNode和adoptNode函数不能导入/采用Document节点,但它们无法导入元素节点及其子树...或者如果它确实,它似乎不适用于追加/替换仍然.
Document xmlDoc; //created elsewhere
Document weather = getWeather(latitude, longitude);
Element weatherRoot = weather.getDocumentElement();
Node root = xmlDoc.getDocumentElement();
Node adopt = weather.adoptNode(weatherRoot);
Node imported = weather.importNode(weatherRoot, true);
Node child = root.getFirstChild();
root.replaceChild(adopt, child); //initially tried replacing the <blank/> elements
root.replaceChild(imported, child);
root.appendChild(adopt);
root.appendChild(imported);
root.appendChild(adopt.cloneNode(true));
Run Code Online (Sandbox Code Playgroud)
所有这些抛出DOMException:WRONG_DOCUMENT_ERR:节点用于与创建它的文档不同的文档中.
我想我将不得不弄清楚如何使用stax或只是重新阅读文档并创建新元素......但是,为了合并文档,这似乎太多了.
有没有办法从纬度/经度估算GMT(或时区)的偏移量?我见过地名,但这需要长期工作,我们真的不想依赖网络服务.它仅用于确定在向各种用户提供信息时是否显示"今天"或"今晚",因此不需要太精确(一两个小时也不会坏).
对于个人项目,我试图检测Android设备何时与某人驾驶.我最初想过使用GPS来确定平均速度,但决定消耗功率并要求用户始终启用GPS.我听说有人可以告诉有人切换手机信号塔(在Android和iOS上),但有广播意图吗?我对Android开发很陌生,所以当我相信设备在移动的汽车中时,希望我可以注册广播接收器.
我不确定我是否可以创建自己的广播意图,并且我认为我不能依赖后台进程来始终运行,因为如果需要内存,android可能会杀死它.
作为旁注,我注意到一些应用程序,比如skype,有一个后台进程,即使我强行杀死它也会自动重启.他们如何做到这一点?我的想法是有一个广播接收器,用于设备何时移动,打开等等,以重新启动后台进程......这是他们做的吗?
感谢您的任何信息!
我有一个命令对象FaxForm
,它包含FaxStatus
一个faxStatusList
属性内的对象列表.
public class FaxForm {
private List<FaxStatus> faxStatusList;
public void setFaxStatusList(List<FaxStatus> faxStatusList) {
this.faxStatusList = faxStatusList;
}
public List<FaxStatus> getFaxStatusList() {
return faxStatusList;
}
}
Run Code Online (Sandbox Code Playgroud)
我最初有一个JSP页面,它通过执行以下操作来绑定对象:
<c:forEach items="${esaFaxForm.faxStatusList}" var="item" varStatus="loop">
<tr class="tableAltBackground">
<td>
<form:checkbox path="faxStatusList[${loop.index}].selected"/>
</td>
<td>
<form:select path="faxStatusList[${loop.index}].status" items="${esaFaxForm.statusOptions}" onchange="checkThisBox(this);"/>
</td>
<td>
<a href="${statusContUrl}?id=${item.id}&status=${item.status}" onclick="openFaxWindow('${viewFaxUrl}?id=${item.id}', ${loop.index});">${item.name}</a>
<form:hidden path="faxStatusList[${loop.index}].name"/>
</td>
<td>
<a href="${statusContUrl}?id=${item.id}&status=${item.status}" onclick="openFaxWindow('${viewFaxUrl}?id=${item.id}', ${loop.index});">${item.id}</a>
<form:hidden path="faxStatusList[${loop.index}].id"/>
</td>
</tr>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)
但是,我试图弄清楚如何在没有forEach循环和索引的情况下进行绑定.Spring网站上的示例通过设置列表名称的路径来显示绑定.有没有办法绑定属性?我试过这个,但它失败了:
<form:checkbox path="faxStatusList.faxStatus.selected"/>
<form:select path="faxStatusList.faxStatus.status" items="${esaFaxForm.statusOptions}"/>
Run Code Online (Sandbox Code Playgroud)
faxStatusList有一个getter和setter方法,而FaxStatus变量每个都有getter/setter属性.我收到错误"bean类的无效属性'faxStatusList.faxStatus'......"
我正在尝试将Spring bean注入到EJB中,@Interceptors(SpringBeanAutowiringInterceptor.class)
但是我无法使用beanRefContext.xml
我见过的示例.
这是我的EJB:
@Stateless
@Interceptors(SpringBeanAutowiringInterceptor.class)
public class AlertNotificationMethodServiceImpl implements
AlertNotificationMethodService {
@Autowired
private SomeBean bean;
}
Run Code Online (Sandbox Code Playgroud)
我提供了一个beanRefContext.xml,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="...">
<!-- Have also tried with ClassPathXmlApplicationContext -->
<bean id="context"
class="org.springframework.web.context.support.XmlWebApplicationContext">
<property name="configLocations" value="/config/app-config.xml" />
</bean>
</beans>
Run Code Online (Sandbox Code Playgroud)
但是,它似乎正在重新创建bean而不是获取现有的ApplicationContext.我最终得到以下异常,因为我的一个bean是ServletContextAware.
java.lang.IllegalArgumentException: Cannot resolve ServletContextResource
without ServletContext
Run Code Online (Sandbox Code Playgroud)
使用时SpringBeanAutowiringInterceptor
,是不是应该获取ApplicationContext而不是创建一个新的?
我也试过更改我的web.xml,所以contextConfigLocation指向beanRefContext.xml,希望它加载我的Spring配置,但我最终得到了与上面相同的异常.
有谁知道如何正确地做到这一点?我看到的示例似乎使用了我正在使用的相同方法,我假设这意味着在调用Interceptor时正在重新创建bean(或者它是如何工作的,我误解了).
我对C不太熟悉,但我需要在我的java代码中使用C库.我已经创建了DLL并且能够很好地访问它,但我试图从C代码返回一个int数组到java代码.
在CI中,您可以简单地返回一个指向数组的指针,但它的工作方式与我在Java代码中的预期不同.这是C代码:
int * getConusXY(double latitude, double longitude) {
maparam stcprm;
double reflat = 25, reflon = -95,
lat1 = 20.191999, lon1 = -121.54001,
x1 = 0, y1 = 0, x2 = 1073, y2 = 689,
gsize = 5.079, scaLat = 25, scaLon = -95, orient = 0;
double x, y;
int* xy;
xy = malloc(2 * sizeof *xy);
stlmbr(&stcprm, reflat, reflon);
stcm1p(&stcprm, x1, y1, lat1, lon1, scaLat, scaLon, gsize, orient);
cll2xy(&stcprm, latitude, longitude, &x, &y);
xy[0] = (int) x; …
Run Code Online (Sandbox Code Playgroud) 我使用axis2从我创建的java类创建Web服务.一切都运作良好,但我希望能够自定义wsdl,我无法弄清楚如何做到这一点.我尝试使用一些JAXB注释与我的对象(使用axis1),但它对wsdl生成没有影响.
我希望能够为某些元素指定nillable = true并使其他元素成为必需.我也希望能够更改元素名称和其他内容.如果META-INF文件夹中没有包含WSDL,那么axis2不应该查看JAXB2.0注释吗?
我一直试图谷歌如何以自下而上的方式绘制架构,但我没有运气.axis2网站仅显示创建Web服务或客户端的基本步骤,但没有关于自定义架构的信息.
我在一台机器上使用apache来为另一台机器上的jboss提供请求.当我启动jboss并且我能够访问Web应用程序时,一切正常,但几个小时后我终于开始收到"代理服务器收到来自上游服务器的无效响应"错误.如果我重新启动jboss然后一切正常,但几个小时后我有同样的问题......
有谁知道可能导致这个问题的原因是什么?我此时无法访问apache日志(我应该在几个小时内),但它似乎与jboss有关,因为重新启动它是临时修复.
我正在使用jboss4.2.3和apache 1.3与mod_jk.我没有在jboss日志中找到任何错误,我想要达到的应用程序没有做任何需要很长时间的事情.主页面只是一个简单的登录页面.我打开了端口8009和8080,用于在应用服务器和Web服务器之间进行通信.我不知道配置有什么问题.
我有一个python函数,它对shell脚本进行子进程调用,输出'true'或'false'.我正在存储输出subprocess.communicate()
并尝试执行return output == 'true'
但False
每次都会返回.我对python不太熟悉,但阅读字符串比较说你可以使用==,!=等比较字符串.
这是代码:
def verifydeployment(application):
from subprocess import Popen, PIPE
import socket, time
# Loop until jboss is up. After 90 seconds the script stops looping; this
# causes twiddle to be unsuccessful and deployment is considered 'failed'.
begin = time.time()
while True:
try:
socket.create_connection(('localhost', 8080))
break
except socket.error, msg:
if (time.time() - begin) > 90:
break
else:
continue
time.sleep(15) # sleep for 15 seconds to allow JMX to initialize
twiddle = …
Run Code Online (Sandbox Code Playgroud) 如果我们要分离我们的Web服务器和应用服务器,我们是否需要两台机器上的java?我有一个同事说在两台机器上安装JBoss的(似乎打败的目的,如果两台机器已经安装的应用程序服务器)和另一位贸易商称只是对其他(应用服务器/网络服务器)上一个和Apache安装JBoss的.
我已经安装了Web项目,它使用servlet和JSP.JSP在servlet执行操作时显示内容.servlet接收请求并转发对JSP的响应.我的问题是,如果Web服务器只有apache并因此显示静态内容,我该怎么做?我理解如何将请求从Web服务器转发到应用服务器,但是如何维护会话状态,是在Web服务器上完成的,如果是这样,它将如何完成?
如果登录页面是html并且登录后的内容是html,那么如果他们还没有登录,我怎么能阻止人们访问内容呢?