小编Mic*_*est的帖子

我应该在流星.gitignore文件中添加什么?

我有一个新的流星项目.我猜.meteordir有配置文件(需要)和临时文件(不需要)的组合.

那你的是.gitignore什么?

git gitignore meteor

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

如何在Canvas元素上渲染FontAwesome中的字形

FontAwesome在其CSS文件中指定字形,如下所示:

/*  Font Awesome uses the Unicode Private Use Area (PUA) to ensure 
    screen readers do not read off random characters that represent icons */
.icon-glass:before                { content: "\f000"; }
.icon-music:before                { content: "\f001"; }
Run Code Online (Sandbox Code Playgroud)

我试图将图标从此字体渲染到画布元素,但无法看到如何访问这些字形.

ctx.font = "40px FontAwesome";
ctx.fillText("\f000",20,20); // no cigar
Run Code Online (Sandbox Code Playgroud)

如何在JavaScript字符串中指定这些字形?

javascript html5 canvas webfonts

23
推荐指数
1
解决办法
6987
查看次数

使用invalidateLayout调用的高级UICollectionView动画

UICollectionView编程指南说:

除了动画插入,删除和移动操作之外,您还可以随时使布局无效并强制它重绘其内容.使布局无效不会直接为项目设置动画; 当您使布局无效时,集合视图会在没有动画的情况下显示新计算位置中的项目.但是,使布局无效的行为会导致布局对象显式移动项目.在自定义布局中,您可以使用此行为以固定间隔定位单元格并创建动画效果.

我一直在尝试这样的东西AnimationStep,我的UICollectionViewFlowLayout子类使用枚举来有条件地设置具有三阶段动画的tile的位置:

-(void)update{
    [self animateLayoutAfterDelay:2.0 toStep:AnimationStepOne];
    [self animateLayoutAfterDelay:4.0 toStep:AnimationStepTwo];
    [self animateLayoutAfterDelay:6.0 toStep:AnimationStepThree];
}

-(void)animateLayoutAfterDelay:(NSTimeInterval)delay toStep:(MagazineLayoutAnimationStep)step {
    double delayInSeconds = delay;
    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
    dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
        [UIView animateWithDuration:2.0 animations:^{
            self.layout.animationStep = step;
            [self.layout invalidateLayout];
        }];
    });
}
Run Code Online (Sandbox Code Playgroud)

这具有非常不可预测的影响.有些单元格以我期望的方式生成动画,有些单元格被隐藏并显示或只是出现在新位置.我在细胞上放置了随机的背景颜色,看看这是否可能是UICollectionView回收细胞的影响,当然,有时也是如此.这解释了一些奇怪的东西,但不是全部.

有人知道Apple是如何让我为细胞设置动画并移动它们吗?

(我需要这个,因为我的集合视图单元格往往会改变大小,我想要一个没有任何对角线移动的优雅动画).

core-animation ios ios6 uicollectionview

12
推荐指数
1
解决办法
2万
查看次数

使用自动布局时,可以优雅地隐藏和显示视图

我想可能有一种方法可以使用自动布局轻松隐藏和显示连续按钮,以便视图可以根据可见的情况自动排列整齐.

例如,假设我有两个按钮,我总是想要在框架中居中:

// pseudo visual format code:
|-----[star][download]-----|
Run Code Online (Sandbox Code Playgroud)

当我按下下载时,我现在想要看到三个按钮:( pausedownload重新标记的按钮; cancel是以前隐藏的按钮)

|--[star][cancel][pause ]--|

我想我可能总是有三个按钮但是可能会覆盖宽度以使视图在状态之间优雅地生动?我认为可能有一种更加语义的方式来实现从自动布局结构中添加和删除视图.有什么想法吗?

ios autolayout

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

'左操作数'中的'垃圾值'是什么?'是'生成和分析'生成的垃圾值'警告?

当我在Xcode中"构建和分析"这段代码时,我收到一条我不明白的警告.这是带问题的方法:

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
        UITouch * touch = [touches anyObject];
        CGPoint location = [touch locationInView:self];
        CGPoint relativePosition = CGPointMake(1.0-(location.x / self.bounds.size.width),location.y / self.bounds.size.height);
        [[Stage getSharedStage] movePartToLocation:relativePosition];
}
Run Code Online (Sandbox Code Playgroud)

这是警告:

 warning: The left operand of '/' is a garbage value
         CGPoint relativePosition = CGPointMake(1.0-(location.x / self.bounds.size.width),location.y / self.bounds.size.height);
                                                     ~~~~~~~~~~ ^
1 warning generated.
Run Code Online (Sandbox Code Playgroud)

这是箭头: 替代文字

它试图告诉我什么?代码工作正常.

xcode cocoa-touch objective-c ios

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

如何从头开始实现OpenID客户端?

我需要为一个新平台编写一个OpenID客户端(服务器端javascript的一些有趣的味道),我试图理解验证序列.我一直在阅读Ruby实现并编写测试生成的请求/响应的类型.

初始请求在表单上:

this.getBeginUrl = function(options){
    if(!options) throw("getBeginUrl requires an options hash of the form: {return_to_path:'/path/to/return?something', base:'http://server.name'}")
    if(!options.return_to_path) throw("must supply return_to_path");
    if(!options.base) throw ("must supply base url"); 
    var params = {
        'assoc_handle':getAssocHandle(),
        'ax.mode':'fetch_request',
        'claimed_id':'http://specs.openid.net/auth/2.0/identifier_select',
        'identity':'http://specs.openid.net/auth/2.0/identifier_select',
        'mode':'checkid_setup',
        'ns':'http://specs.openid.net/auth/2.0',
        'ns.ax':'http://openid.net/srv/ax/1.0',
        'ns.sreg':'http://openid.net/extensions/sreg/1.1',
        'realm':options.base,
        'return_to':options.base + options.return_to_path + '&open_id_complete=1' // Assuming the return-to url has a ? in it
    }
    if(options.required) params['sreg.required'] = options.required;
    var result = [];
    for(var e in params) result.push([escape('openid.'+e)] +"=" +escape(params[e]));
    return openid_url + '?' + result.join('&'); // Assuming the openid …
Run Code Online (Sandbox Code Playgroud)

openid

3
推荐指数
1
解决办法
1847
查看次数

如何使用collectionView setCollectionViewLayout更改布局更改的持续时间:动画?

我有这个(哪里layoutUICollectionViewFlowLayout子类):

[layout invalidateLayout];
[self.collectionView setCollectionViewLayout:layout animated:YES]
Run Code Online (Sandbox Code Playgroud)

但似乎持续时间是固定的.改变持续时间最简单的方法是什么?

core-animation ios uicollectionview uicollectionviewlayout

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