小编Hol*_*bæk的帖子

UIButton上的backgroundImage错误地缩放

当用户按下按钮然后设置宽度动画时,我试图给我的UIButton一个新的背景图像.问题是按钮没有缩放图像(我只使用视网膜图像).

点击之前:

在此输入图像描述

点击后:

在此输入图像描述

以及使事情发生的代码:

UIImage *buttonProfileDefault = [[UIImage imageNamed:@"Profile_Button_Default"] resizableImageWithCapInsets:UIEdgeInsetsMake(3, 3, 3, 3)];
        [self.profileButton setBackgroundImage:buttonProfileDefault forState:UIControlStateNormal];

[self.profileButton removeConstraint:self.profileButtonConstraint];

// Animate
CGRect originalFrame = self.profileButton.frame;
originalFrame.size.width = 40;
[UIView animateWithDuration:0.2f
    animations:^{
        self.profileButton.frame = originalFrame;
    }
        completion:^(BOOL finished) {
    }];
Run Code Online (Sandbox Code Playgroud)

iphone xcode objective-c storyboard ios

6
推荐指数
1
解决办法
2629
查看次数

检查NSRutton是否在drawRect上关闭

我想在我的自定义drawRect方法中检查我的自定义NSButton当前是否处于按下状态(用户正在点击它).像这样的东西:

- (void)drawRect:(NSRect)dirtyRect{
    if ([self buttonIsInPressedState]) {
        [[self alternateBGImage] drawInRect:dirtyRect fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0f];
    }else{
        [[self BGImage] drawInRect:dirtyRect fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0f];
    }
    [super drawRect:dirtyRect];
}
Run Code Online (Sandbox Code Playgroud)

你会怎么检查这样的事情?可能吗?

我最终检查了按钮单元格上的mouseDownFlags.不知道这是否是"正确"的方式,所以如果你有更好的建议,请告诉我:

- (void)drawRect:(NSRect)dirtyRect{        
    if ([self.cell mouseDownFlags] == 0) {
        [[self BGImage] drawInRect:dirtyRect fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0f];
    }else{
        [[self alternateBGImage] drawInRect:dirtyRect fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0f];
    }

    [super drawRect:dirtyRect];
}
Run Code Online (Sandbox Code Playgroud)

macos xcode objective-c drawrect nsbutton

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

(Net::SSH::AuthenticationFailed: root) when deploying Rails app with Rubber to EC2

I'm following this tutorial from Railscast on how to deploy your rails-app to EC2:

http://railscasts.com/episodes/347-rubber-and-amazon-ec2

I did something and now I keep getting this error whenever I try to deploy:

connection failed for: production.foo.com (Net::SSH::AuthenticationFailed: root)
Run Code Online (Sandbox Code Playgroud)

It's a very obscure error and seems to be specifically mac related. Another user following the tutorial also had that error:

http://railscasts.com/episodes/347-rubber-and-amazon-ec2?view=comments#comment_158643.

And this guy experienced something similar as well:

https://github.com/rubber/rubber/issues/182.

I've been through every blog post on this issue and nothing …

capistrano ruby-on-rails amazon-ec2 amazon-web-services

6
推荐指数
1
解决办法
1206
查看次数

使用大量 HTML 渲染页面

我正在创建一个包含大量 HTML(数千个 div 元素)的网站。没有真正的方法可以摆脱所有这些 div 元素,并且它使站点加载非常缓慢(7-12 秒)。我试过在网站上放置缓存,但它没有帮助,因为网站仍然必须呈现所有这些 div 元素。

更具体地说,它有 140 个下拉列表,每个包含 100-800 个 div 元素,它们需要很长时间才能显示。

我的想法是在页面加载后呈现下拉列表中的 div 元素,但我不知道该怎么做?

在页面加载后呈现部分部分的最简单方法是什么?顺便说一句,我正在使用 Rails 4。

关于如何处理大量 HTML 的任何其他建议?

html css ruby ruby-on-rails ruby-on-rails-4

6
推荐指数
1
解决办法
2406
查看次数

Firebase推送通知 - 节点工作者

我需要在将某个孩子添加到Firebase路径时向用户发送iOS推送通知.

我在想,最好的方法是在Heroku上创建一个Node.js工作人员,它会监听变化并使用Urban Airship发送通知.

我不确定从Heroku上的Node.js工作者那里听Firebase更改的最佳方法是什么.我不熟悉heroku worker和Node.js.

谁能给我一些指示?例子?

javascript node.js ios firebase

6
推荐指数
1
解决办法
1853
查看次数

Firebase侦听器占用大量内存

我有一个节点工作者在Heroku的应用程序旁边运行,它可以监听Firebase数据库上的某些路径.问题是听这些路径似乎占用了大量的内存.如果我在其中的13000个项目的路径上侦听更改,如果我的Heroku服务器占用总内存的147mb:

setInterval =>
  @ref.log_memory('Listener interval')
, 1000

@ref.firebaseClient.child('listings').on 'child_changed', (snap) =>
  @ref.log('child_changed')
Run Code Online (Sandbox Code Playgroud)

输出:

22:39:07 worker.1 | info:    Memory: 35mb total - 66mb rss - 23mb heapUsed
22:39:08 worker.1 | info:    Memory: 36mb total - 67mb rss - 18mb heapUsed
22:39:09 worker.1 | info:    Memory: 37mb total - 69mb rss - 23mb heapUsed
22:39:10 worker.1 | info:    Memory: 54mb total - 72mb rss - 25mb heapUsed
22:39:11 worker.1 | info:    Memory: 54mb total - 82mb rss - 33mb heapUsed
22:39:13 worker.1 …
Run Code Online (Sandbox Code Playgroud)

heroku node.js firebase

6
推荐指数
1
解决办法
1009
查看次数

收听Firebase中数百名儿童添加的项目

我有一个iOS市场应用程序,我正在收听该市场上待售的每件商品的变化.更确切地说,我正在听取该项目上的孩子是否会改变或被移除.

问题是我想要在添加孩子时收听.在Firebase上添加子项时监听的特殊之处在于,当您第一次设置侦听器时,您将获得该节点上的所有兄弟节点.

项目上的孩子不是同一项目的列表,所以我不能听一些时间戳后添加的孩子.我正在考虑做这样的 事情并忽略那些最初的孩子.这似乎是一个很大的浪费,因为我基本上是从Firebase中取出两次.一次,FEventTypeValue一次FEventTypeChildAdded.

我想要收听的项目是在Feed中加载的项目.它很可能是几百件物品,但可能是数千件物品.

你会怎么做?我是否应该忘记所有关于倾听额外孩子的问题,还是有一个合适的解决方案?

编辑(添加示例代码):

这就是我在Firebase上获取特定项目的数据的方法.

var ref = new Firebase('https://<your-Firebase>.firebaseio.com');
ref.child('listings/-KB9ZqLZBEskoUihb-yR').once('value', function(snapshot) {
  listing = snapshot.val();
});
Run Code Online (Sandbox Code Playgroud)

在这里,我想听一个新的孩子被添加到该项目时:

ref.child('listings/-KB9ZqLZBEskoUihb-yR').on('child_added', function(snapshot) {
  listing[snapshot.key()] = snapshot.val()
});
Run Code Online (Sandbox Code Playgroud)

问题是,监听在该节点上添加的项目会再次获取所有子节点,这似乎是一个巨大的浪费.你会如何应对这种情况?

database iphone ios firebase

6
推荐指数
1
解决办法
744
查看次数

自定义iOS键盘的外观

我该怎么做?我想保留键盘的所有功能(拼写检查,能够更改语言等),但我想自定义按钮和背景的外观.

我该怎么做?

iphone ios ios6

5
推荐指数
1
解决办法
2751
查看次数

使用VPN在Heroku上获取静态IP

我需要使用我的Heroku/Rails应用程序连接到API,我需要有静态IP.

我知道附加组件proximo - https://devcenter.heroku.com/articles/proximo - 但它的价格非常高,所以这是不可能的.

在我的情况下,大多数人最终部署到EC2而使用弹性IP作为他们的静态IP.我也试过这个并且它有效,但我发现整个EC2的流程真的很麻烦.

我已经在一些答案中读到可以设置EC2服务器并将其用作Heroku/Rails应用程序的代理 - 用于SFTP的Heroku静态IP - 但对于不是非常服务器的人来说这听起来非常神秘 -精明.

有人可以提供有关如何设置Heroku/Rails应用程序以将EC2实例用作代理的分步教程吗?

ruby proxy ruby-on-rails heroku socks

5
推荐指数
0
解决办法
3510
查看次数

RestKit 0.20:映射本地文件的关系数据

我正在使用本地JSON文件并尝试将其映射到关系映射.它没有关系它工作正常,但一旦我添加了关系,我得到一个错误.

JSON:

https://gist.github.com/4675414

码:

    // Get json from destination
    NSString *myJSON = [[NSString alloc] initWithContentsOfFile:contentPath encoding:NSUTF8StringEncoding error:NULL];

    NSString* MIMEType = @"application/json";
    NSError* parseError;

    NSData *data = [myJSON dataUsingEncoding:NSUTF8StringEncoding];
    id parsedData = [RKMIMETypeSerialization objectFromData:data MIMEType:MIMEType error:&parseError];
    if (parsedData == nil && parseError) {
        NSLog(@"Cannot parse data: %@", parseError);
    }

    // Setting up objectmapping for issue
    RKObjectMapping *issueMapping = [RKObjectMapping mappingForClass:[Issue class]];
    [issueMapping addAttributeMappingsFromDictionary:@{
     @"title":                      @"title",
     @"description":                @"description",
     @"cover_url":                  @"cover_url",
     @"published_at":               @"published_at",
     @"issue_number":               @"issue_number"
     }];

    //Setting up objectmapping for article
    RKObjectMapping *articleMapping …
Run Code Online (Sandbox Code Playgroud)

iphone rest objective-c ios restkit

4
推荐指数
1
解决办法
1786
查看次数