我的应用程序正在使用JSoup下载留言板页面的HTML(假设在这种情况下它是一个包含给定线程的帖子的页面).我想使用这个HTML,删除不需要的项目,并应用自定义CSS将其设置为在WebView中"移动".
我应该在处理HTML时将样式注入到HTML中(因为我还是会处理它),或者有一种很好的方法可以将CSS文件添加到我的应用程序的资源中并简单地引用它.我认为后者是理想的,但不确定如何去做.
我在WebView的loadDataWithBaseURL中看到了一些提示,你可以引用本地资产,但不知道如何利用它.
我在视图中有一个UIBezierPath.我想在点击形状时显示警告,但实际发生的情况是警报不仅在我单击形状时显示,而且在我单击视图中的任何位置时显示.
如何更改此代码,以便只有当我在彩色形状内部单击时,才会收到警报?另外,如何在屏幕上绘制可拖动的形状?
#import "draw2D.h"
@implementation draw2D
- (id)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
// Initialization code.
}
return self;
}
- (void)drawRect:(CGRect)rect {
UIBezierPath* aPath = [UIBezierPath bezierPath];
[aPath moveToPoint:CGPointMake(200.053,79.688)];
[aPath addLineToPoint:CGPointMake(100.053,179.688)];
[aPath addLineToPoint:CGPointMake(304.412,280.125)];
[aPath addLineToPoint:CGPointMake(308.055,298.513)];
[aPath addLineToPoint:CGPointMake(200.053,79.688)];
[aPath closePath];
[[UIColor blackColor] setStroke];
[[UIColor redColor] setFill];
CGContextRef aRef = UIGraphicsGetCurrentContext();
CGContextTranslateCTM(aRef, 50, 50);
aPath.lineWidth = 5;
[aPath fill];
}
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Title" message:@"Some message" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles: nil];
//After …Run Code Online (Sandbox Code Playgroud) 我的设置是一个Windows XAMPP服务器,启用了cURL,并安装了Git和Hudson.Hudson每分钟都会调查Git来查找更改,如果找到它们,它会创建一个构建版本.我使用这个版本作为我的测试服务器.这很好用.
我想在我的中央远程存储库上设置一个post-receive hook,它运行Hudson的force build功能.
我在我的中央Git存储库的hooks目录中创建了一个名为"post-receive"的post-receive文件,该文件是从开发人员的本地分支推送到的.他们每个都推送到中央存储库中的自己的分支.我想在每次推送后立即运行post-receive构建,而不是每分钟都有Hudson轮询Git.
当我打开一个shell到远程服务器并在hooks文件夹中运行"post-receive"时,它会运行.当人们从本地存储库副本推送到中央存储库副本时,它就不会被调用.
也许我不是在解释这个问题,但这就是我对Git的理解.
收到后代码是两行:
#!/bin/sh
curl http://myserver.com:8080/hudson/job/myjobname/build?token=mytoken
Run Code Online (Sandbox Code Playgroud)
再一次,当我打开一个shell并运行它时,它可以工作,但是当有人推动它时,没有任何反应,直到一分钟或更短的时间过去,Hudson意识到Git已经改变,然后它就会构建.
我很乐意澄清是否需要.任何帮助是极大的赞赏.
编辑:玩了之后,我觉得也许后续接收没有执行,因为参考没有被更新的东西?git文档说
在更新所有引用后,它将在远程存储库上执行一次.
这是否意味着如果没有更新,它将不会执行?如果是这样,我很确定事情正在更新,所以它不应该适用.
这是我的过程:在本地进行编辑.提交编辑.从我的HEAD推送到名为'mybranch'的远程分支(不是主分支,已检出)这是我希望我的钩子执行的点.
在我的iOS项目中更新Core Data模型的过程中,我正在向服务器查询JSON对象,这些对象在某种程度上与我模型的托管实体相对应.我正在努力的最终结果是来自JSON输出的可靠更新解决方案.
对于这个问题中的示例,我将命名核心数据管理对象existingObj和传入的JSON反序列化字典updateDict.棘手的部分是处理这些事实:
existingObj都存在于updateDictupdateDict都可用extistingObj.existingObj的属性都与JSON反序列化属性匹配.(某些字符串可能需要自定义的Objective-C包装器).updateDict可能包含未初始化(nil)的键的值existingObj.这意味着在迭代更新的字典时,必须对来回进行一些属性测试.首先我要测试是否updateDict存在属性existingObj,然后我使用KVC设置值,如下所示:
// key is an NSString, e.g. @"displayName"
if ([existingObj respondsToSelector:NSSelectorFromString(key)) {
[existingObj setValue:[updateDict objectForKey:key] forKey:key];
}
Run Code Online (Sandbox Code Playgroud)
虽然这部分有效,但我不喜欢这样的事实,即我实际上是displayName作为一个吸气剂进行测试,而我正要打电话给setDisplayName:设定者(间接通过KVC).我更喜欢的是[existingObj hasWritablePropertyWithName:key],但是我找不到这样做的东西.
这使得子问题A:如果只有属性的名称,如何测试属性设置器?
下一部分是我想根据其类型自动识别属性的地方.如果两个updateDict和existingObj有一个NSString关键@"显示名",设置新的价值很容易.但是,如果updateDict包含@ @ niceShadeOfGreen的键@"color"的NSString,我想将其转换为正确的UIColor实例.但是我如何测试接收属性的类型,existingObj以便我知道何时转换值以及何时简单地分配?我希望有类似于NextSelector的东西:
if ([existingObj typeOfSelector:sel] == [[updateDict objectForKey:key] class]) {
// regular assignment
} else { …Run Code Online (Sandbox Code Playgroud) properties exists css-selectors key-value-coding objective-c-2.0
想在我的小部件布局中使用"图像"按钮.我想要一个可点击的图像,因此点击图像将改变图像.不知道如何在WidgetProvider RemoteView中设置它.有谁知道如何做到这一点?具体来说,如何在Widget提供程序中的onReceive中更改图像?谢谢
谢谢
所以我有这个Panel类.这有点像一个窗口,你可以调整大小,关闭,添加按钮,滑块等.就像你们中的任何人都记得的那样,就像Morrowind中的状态屏幕一样.我想要的行为是,当一个精灵在面板边界之外时它不会被绘制,如果它部分在外部,则只绘制内部部分.所以它现在做的是首先获得一个表示面板边界的矩形,一个精灵矩形,它找到两者之间相交的矩形然后将该交集转换为精灵矩形的局部坐标并使用它对于源矩形.它的工作原理和我觉得代码一样聪明,我无法感觉到有更好的方法来做到这一点.此外,通过此设置,我无法为我的2D相机使用全局变换矩阵,"世界"中的所有内容都必须通过相机参数进行绘制.无论如何,这是我的代码:
交叉点:
public static Rectangle? Intersection(Rectangle rectangle1, Rectangle rectangle2)
{
if (rectangle1.Intersects(rectangle2))
{
if (rectangle1.Contains(rectangle2))
{
return rectangle2;
}
else if (rectangle2.Contains(rectangle1))
{
return rectangle1;
}
else
{
int x = Math.Max(rectangle1.Left, rectangle2.Left);
int y = Math.Max(rectangle1.Top, rectangle2.Top);
int height = Math.Min(rectangle1.Bottom, rectangle2.Bottom) - Math.Max(rectangle1.Top, rectangle2.Top);
int width = Math.Min(rectangle1.Right, rectangle2.Right) - Math.Max(rectangle1.Left, rectangle2.Left);
return new Rectangle(x, y, width, height);
}
}
else
{
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
并实际绘制在面板上:
public void DrawOnPanel(IDraw sprite, SpriteBatch spriteBatch)
{
Rectangle panelRectangle …Run Code Online (Sandbox Code Playgroud) 我想在我的mediawiki安装中插入一个flattr图像.这需要<script>...</script>在html文件的标题中插入一个部分.我不知道在哪里可以插入这个,因为我<head>在文件中找不到-tag MonoBook.php.我使用当前的mediawiki软件(1.16.2)和MonoBook风格.有人能给我一个线索,我可以插入所需的JavaScript吗?
我想找到使用正则表达式在后面的句子中使用单词"dear"的次数.有任何想法吗?所以在这个例子中我应该得到4
你好亲爱的朋友,这是一个包含单词重复的字符串; 所以,亲爱的,如果你能记住亲爱的用词,这将是伟大的
我对使用队列的任务执行感到困惑.我已经阅读了文档,我认为我理解了bucket_size和rate,但是当我将20个任务发送到设置为5/h,大小为5的队列时,所有20个任务尽可能快地执行,最后完成1分钟.
deferred.defer(spam.cookEggs,
egg_keys,
_queue="tortoise")
- name: tortoise
rate: 5/h
bucket_size: 5
Run Code Online (Sandbox Code Playgroud)
我想要的是我是创建10个还是100个任务,我只想要每小时运行5个任务.所以完成需要大约4个小时的20个任务.我希望他们的执行分散开来.
问题是我假设在本地运行时遵循了任务执行率规则,但事实并非如此.您无法在本地测试执行率.当我部署到生产时,我设置的速率和桶大小按我的预期执行.
我一直试图在CALayer上显示NSImage.然后我意识到我需要将它显然转换为CGImage,然后显示它......
我有这个代码似乎没有工作
CALayer *layer = [CALayer layer];
NSImage *finderIcon = [[NSWorkspace sharedWorkspace] iconForFileType:NSFileTypeForHFSTypeCode(kFinderIcon)];
[finderIcon setSize:(NSSize){ 128.0f, 128.0f }];
CGImageSourceRef source;
source = CGImageSourceCreateWithData((CFDataRef)finderIcon, NULL);
CGImageRef finalIcon = CGImageSourceCreateImageAtIndex(source, 0, NULL);
layer.bounds = CGRectMake(128.0f, 128.0f, 4, 4);
layer.position = CGPointMake(128.0f, 128.0f);
layer.contents = finalIcon;
// Insert the layer into the root layer
[mainLayer addSublayer:layer];
Run Code Online (Sandbox Code Playgroud)
为什么?我怎样才能让它发挥作用?