小编zak*_*ces的帖子

如何使用contentOffset将内容置于UIScrollView中

这应该是一个非常简单的问题,但我无法获得所需的结果.我已经水平滚动UIScrollView,宽度为320.其内容的宽度为5000.我试图将内容集中在:

// 'self' is the UIScrollView
CGFloat newContentOffsetX = (self.width/2) + (self.contentSize.width/2);
self.contentOffset = CGPointMake(newContentOffsetX, 0);
Run Code Online (Sandbox Code Playgroud)

我不明白为什么这不是内容的中心.你能看出计算出错吗?

objective-c uiscrollview ios

22
推荐指数
3
解决办法
3万
查看次数

为什么给addArcWithCenter一个0度的startAngle使它从90度开始?

我正在创建一个CAShapeLayer用作UIView图层的掩码.我用a UIBezierPath来绘制形状图层.它工作得很好,除了我画画时得到一些奇怪的结果.几何体的行为不符合预期.我正试图在右上角绘制简单的"馅饼切片":

#define degreesToRadians(x) ((x) * M_PI / 180.0)

...

// "layer" refer's to the UIView's root layer

CAShapeLayer *maskLayer = [CAShapeLayer layer];

maskLayer.frame =
    layer.presentationLayer ? 
    ((CAGradientLayer *)layer.presentationLayer).bounds : layer.bounds;
maskLayer.fillRule = kCAFillRuleEvenOdd;
maskLayer.needsDisplayOnBoundsChange = YES;

CGFloat maskLayerWidth = maskLayer.bounds.size.width;
CGFloat maskLayerHeight = maskLayer.bounds.size.height;
CGPoint maskLayerCenter = 
    CGPointMake(maskLayerWidth/2,maskLayerHeight/2);

UIBezierPath *path = [UIBezierPath bezierPath];

[path moveToPoint:maskLayerCenter];

[path addArcWithCenter:maskLayerCenter radius:(maskLayerWidth/2)
startAngle:degreesToRadians(0) endAngle:degreesToRadians(90) clockwise:YES];

[path closePath];


maskLayer.path = path.CGPath;

layer.mask = maskLayer;
Run Code Online (Sandbox Code Playgroud)

最终结果是在右下角绘制了饼图切片.弧的第一个点是以90度绘制的,然后是180度.即使我使用0度和90度角,它为什么会这样做?

geometry core-animation objective-c ios uibezierpath

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

Mongo条件为"密钥不存在"?

如果密钥==无或密钥不存在,我想使用条件查找文档.像这样的东西:

myDoc = self.request.root.db.myDocs.find_one({
                          '$or': [
                              {'myKey' : $doesNotExist } ,
                              {'myKey' : None }
                            ]
                    })
Run Code Online (Sandbox Code Playgroud)

我还希望能够通过丢失的密钥找到一个文档,如下所示:

myDoc = self.request.root.db.myDocs.find_one( {'myKey' : $doesNotExist } )
Run Code Online (Sandbox Code Playgroud)

我怎么能做到这一点?

python key-value mongodb pymongo

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

有没有办法在Interface Builder/storyboard中自动调整UIImageView的大小?

在故事板或界面构建器中为uiimageview设置图像时,它会保留原始UIImageView图像的形状,这意味着图像本身完全失真.

为了匹配UIImageView其图像的大小,我必须手动输入文件检查器的大小.

有没有一种方法UIImageView可以自动检测其图像的原始大小并相应地调整其自身的大小?

xcode objective-c uiimageview

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

5种魔法记录设置方法有什么区别?

任何人都可以给出5种设置方法的描述吗?

(void) setupCoreDataStack;
(void) setupAutoMigratingDefaultCoreDataStack;
(void) setupCoreDataStackWithInMemoryStore;
(void) setupCoreDataStackWithStoreNamed:(NSString *)storeName;
(void) setupCoreDataStackWithAutoMigratingSqliteStoreNamed:(NSString *)storeName;
Run Code Online (Sandbox Code Playgroud)

它们各自做了什么以及每个用例的用例是什么?

database core-data objective-c ios magicalrecord

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

如何创建仅接收一次信号的ReactiveCocoa订阅者,然后取消订阅/释放自己?

我目前正在向这样的房产信号注册订阅者:

[RACAble(self.test) subscribeNext:^(id x) {
        NSLog(@"signal fired!");
 }];
Run Code Online (Sandbox Code Playgroud)

默认功能是它每次都会触发self.test被更改,但我只想要触发一次,然后取消订阅.在创建此订阅者时,是否可以将"一次"参数或修饰符传递给RAC?

objective-c reactive-programming ios reactive-cocoa

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

'ObjectId'对象没有属性'getTimeStamp'

我正在尝试从ObjectID获取时间戳,但Mongo一直给我这个错误.我错过了一个导入?将时间戳转换为标准日期格式的最佳方法是什么?

video['date'] = video['_id'].getTimeStamp()
Run Code Online (Sandbox Code Playgroud)

python mongodb pymongo

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

将HTML编码的字符串附加为HTML,而不是文本

我正在尝试追加这个字符串:

<div> hello </div>
Run Code Online (Sandbox Code Playgroud)

作为HTML节点,但它不是附加HTML而只是附加文本:

<div> hello </div>
Run Code Online (Sandbox Code Playgroud)

如何让jQuery将其作为HTML节点附加,而不仅仅是文本?

如果可能的话,我想要一个适用于嵌套div和文本的解决方案.

html javascript jquery append

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

intrinsicContentSize与sizeThatFits.有什么不同?每个用例有哪些?

我知道这intrinisicContentSizeAutoLayout API的一部分,但除此之外,我发现它和-sizeThatFits方法之间有很多功能重叠.

在什么情况下应该使用另一个?当我继承a时UIView,我应该覆盖哪些以确保我的视图的大小适合其子视图?您能举例说明典型的重写方法对于两者的外观吗?

layout objective-c ios autolayout ios6

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

Cocoapods质疑:"cocoapods如何知道新版本的库何时可用?" 等等

我的安装了pod有问题.他们没有从Github中提取他们库的最新版本(bug修复版本),因此我的Xcode编译器充满了警告.我不明白Cocoapods是如何完全工作的,我想知道是否有人可以清理它.

  1. Cocoapods如何知道新版本的库何时可用?

  2. Cocoapods需要通过以下方式检索最新版本

    sudo pod install
    
    Run Code Online (Sandbox Code Playgroud)

    COMAND?

  3. podspec需要更新的频率和原因是什么?是否需要由podspec的作者或任何人更新?

xcode objective-c cocoapods

13
推荐指数
2
解决办法
4625
查看次数