我有一个UIViewController包含2个子视图(从UIView派生的类),使用UIGraphics.GetCurrentContext进行自定义绘图.绘图在应用程序启动时工作正常.我在视图控制器的ViewDidLoad()中连接子视图,如下所示:
DigitalNumberView dnv = new DigitalNumberView();
dnv.Frame = new System.Drawing.RectangleF(10, 10, 750, 190);
View.AddSubview(dnv);
CircleView tuner = new CircleView(dnv);
tuner.Frame = new System.Drawing.RectangleF(570, 220, 190, 190);
View.AddSubview(tuner);
Run Code Online (Sandbox Code Playgroud)
我需要第一个子视图来绘制自定义内容,具体取决于第二个子视图的功能.当第二个子视图获得TouchesEnded时,我在第一个子视图中调用一个显示新数据的函数.第一个子视图中的绘图使用UIGraphics.GetCurrentContext,它在此特定工作流中变为null.以下是它如何绘制的示例:
SetNeedsDisplay();
CGContext context = UIGraphics.GetCurrentContext ();
if (null == context) {
Console.WriteLine("Retrieved null CGContext");
return;
}
RectangleF r = new RectangleF(25, 10, 180, 180);
ClearNumber(context, r);
DisplayNumber(context, f, r);
UIGraphics.EndImageContext();
Run Code Online (Sandbox Code Playgroud)
为什么UIGraphics.GetCurrentContext仅在此工作流程中返回null,但在启动时不返回?还有另一种方法可以达到同样的效果吗?我只是错过了一些东西吗?
我正在构建requirejs插件并将其加载到我的页面上.但是,在我的页面上,我设置了一个baseUrl值,这样我就可以加载像"tools/foo"这样的路径的插件而不是"/ static/js/blah/tools/foo"
但现在我想允许插件加载css文件.我想通过添加标题的链接来完成此操作,而不是使用"text!foo.css"加载css内容.我也不想指定css文件的完全限定路径.有没有办法让我从requirejs插件中提取我在页面上设置的baseUrl设置,以便我可以使用它来帮助查找我的css文件?
我正在使用urlib来点击我的应用而不是浏览器,所以当发生错误时我看不到调试屏幕.将正常调试信息发送到控制台或文件的最佳方法是什么?
编辑:我已经抓住了页面的输出,但当我将它打印到屏幕上时,它充满了大量无用的HTML.我可以得到错误吗?
我正在学习pdo中的pdo,以便使数据库访问更容易和更有效.我读过fetch _class的一个解释是你的对象的属性是在调用构造函数之前设置的.这是什么意思?任何方向都非常感谢.
首先,这是我在Stack Overflow上的第一篇文章,所以请原谅任何新的错误步骤.如果我可以更清楚地描述我的问题,请告诉我.
我在Google App Engine上运行了一个大型应用程序,并且一直在添加新功能,这些功能迫使我修改旧数据类并添加新数据类.为了清理我们的数据库并更新旧条目,我一直在尝试编写一个脚本,它可以遍历类的实例,进行更改,然后重新保存它们.问题是,当您拨打服务器的时间超过几秒钟时,Google App Engine会超时.
几个星期以来,我一直在努力解决这个问题.我找到的最佳解决方案是:http://code.google.com/p/rietveld/source/browse/trunk/update_entities.py?specl = vsvn427&r = 427
我为自己的网站创建了该代码的一个版本,您可以在此处看到:
def schema_migration (self, target, batch_size=1000):
last_key = None
calls = {"Affiliate": Affiliate, "IPN": IPN, "Mail": Mail, "Payment": Payment, "Promotion": Promotion}
while True:
q = calls[target].all()
if last_key:
q.filter('__key__ >', last_key)
q.order('__key__')
this_batch_size = batch_size
while True:
try:
batch = q.fetch(this_batch_size)
break
except (db.Timeout, DeadlineExceededError):
logging.warn("Query timed out, retrying")
if this_batch_size == 1:
logging.critical("Unable to update entities, aborting")
return
this_batch_size //= 2
if not batch: …Run Code Online (Sandbox Code Playgroud) python migration schema google-app-engine google-cloud-datastore
我怎样才能最容易地找到我的代码中的点(即"程序接收信号:EXC_BAD_ACCESS")被触发?
当我得到这个并且我在控制台中查看时,我没有看到任何其他信息,例如在这种情况下的堆栈跟踪.我知道我可以通过代码放置断点并尝试逐步找到,但是如果有一种方法可以更容易找到没有大量断点并且逐步完成那将是很好的.
编辑1 - 重新输入backtrace(重新回答这个问题),我看到了这一点,这似乎并没有突出我代码中的重点?
(gdb) backtrace
#0 0x00fd7a63 in objc_msgSend ()
#1 0x06019780 in ?? ()
#2 0x0046cf16 in -[UISectionRowData refreshWithSection:tableView:tableViewRowData:] ()
#3 0x0046a9e7 in -[UITableViewRowData numberOfRows] ()
#4 0x003218c2 in -[UITableView noteNumberOfRowsChanged] ()
#5 0x0032e2b8 in -[UITableView reloadData] ()
#6 0x0032b470 in -[UITableView layoutSubviews] ()
#7 0x01d33451 in -[CALayer layoutSublayers] ()
#8 0x01d3317c in CALayerLayoutIfNeeded ()
#9 0x01d2c37c in CA::Context::commit_transaction ()
#10 0x01d2c0d0 in CA::Transaction::commit ()
#11 0x01d5c7d5 in CA::Transaction::observer_callback ()
#12 0x00e56fbb in __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ ()
#13 0x00dec0e7 …Run Code Online (Sandbox Code Playgroud) 我正在研究一个使用多个应用程序(python模块)的django项目.大多数python模块都由其他人在自己的git存储库中维护.我使用git-submodules命令将它们导入到'apps'目录下的项目中,如下所示:
mysite/
mysite/apps
mysite/apps/django-extensions
mysite/apps/django-celery
mysite/apps/django-comments
mysite/apps/myapp
...etc
Run Code Online (Sandbox Code Playgroud)
大多数子模块(例如django-extensions)都有一个包含实际python模块的子文件夹:mysite/apps/django-extensions/django_extensions
这意味着我不能简单地将我的python路径设置为包含mysite/apps - 我必须将其设置为包含mysite/apps/django-extensions,以便它可以导入django_extensions子文件夹.
打字令人烦恼:
PYTHONPATH=mysite/apps/django-extensions:mysite/apps/django-celery... python manage.py runserver
Run Code Online (Sandbox Code Playgroud)
是否有更简单的方法来布置我的回购?一个简单的过程?只是为了好玩,我尝试了一个mysite/apps/*的PYTHONPATH,但这不起作用.
我有一个带有文件上传元素的HTML表单,它基于Uploadify.不幸的是,如果浏览器没有安装/启用闪存(我在Chrome和Safari上测试过),那么文件上传元素就完全消失了,而我本来希望至少有普通的,常规的文件上传html元素作为倒退.
即使在Uploadify官方演示中(截至今天,28.2.2011),您也可以看到此行为:
http://www.uploadify.com/demos/
有人找到了他的方式吗?干杯
这些都不适用于安装闪存但被禁用的情况!
例如,这一行:
if (swfobject.getFlashPlayerVersion().major === 0)
Run Code Online (Sandbox Code Playgroud)
行为相同的天气闪存安装和启用,或安装和禁用!
我想过获取uploadify API并检查它,但我找到了零例子,任何想法?
在wordpress中有自己的自定义表单.
action=<?php bloginfo('template_url'); ?>/send_form.php"
Run Code Online (Sandbox Code Playgroud)
在提交,它总是发送到send_form.php但这个PHP用于发送信息 - 我不能与主题风格....
有没有办法留在当前页面,同时它发送信息并打印出来并在表格已成功发送的字段中显示消息???
有人对我有什么建议吗?
我正在编写一个简单的图形引擎,使用OpenGL和C++在屏幕上绘制纹理.我绘制纹理的方式是使用下面的源代码 - 绘图是在我编写的"Sprite"类中包含的方法中完成的,该类由主场景的游戏循环调用.
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, m_textureID);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glColor3f(1.0f, 1.0f, 1.0f);
glBegin(GL_QUADS);
glTexCoord2f(0.0f, 0.0f);
glVertex2f(m_pos.x, m_pos.y);
glTexCoord2f(1.0f, 0.0f);
glVertex2f(m_pos.x + m_size.x, m_pos.y);
glTexCoord2f(1.0f, 1.0f);
glVertex2f(m_pos.x + m_size.x, m_pos.y + m_size.y);
glTexCoord2f(0.0f, 1.0f);
glVertex2f(m_pos.x, m_pos.y + m_size.y);
glEnd();
glDisable(GL_TEXTURE_2D);
Run Code Online (Sandbox Code Playgroud)
m_textureID是已经用OpenGL加载的纹理的id,m_pos是存储sprite的x和y位置的向量,m_size存储sprite的大小.
我发布这个的原因是因为我从熟悉OpenGL的人那里听说这是在屏幕上绘制许多不同纹理的错误方法.显然,如果屏幕上同时有很多图形,那么在调用glVertex时使用glBegin(GL_QUADS)和glEnd()可能会很慢,并且正确的方法是使用顶点指针.
任何人都可以使用我上面描述的实现给我任何关于如何加速这种技术性能的指针(没有双关语)?还有什么我可能做错了吗?(我对OpenGL和图形编程比较陌生.)
提前致谢!