小编Tar*_*ark的帖子

UIView的动态高度使用intrinsicContentSize

我正在尝试创建一个自定义容器视图,其中包含UIImageView和多行UILabel作为子视图.为了使视图与autolayout很好地协同工作,我将覆盖intrinsicContentSize,如下所示:

- (CGSize)intrinsicContentSize
{
    return [self sizeThatFits:self.bounds.size];
}
Run Code Online (Sandbox Code Playgroud)

sizeThatFits计算的大小具有相同的宽度,并调整高度,以便不剪切标签和图像.这很好用,但我很惊讶地在文档中看到以下评论:

此内在大小必须独立于内容框架,因为例如,无法基于更改的高度动态地将更改的宽度传达给布局系统.

如果是这种情况,什么是自动布局方式根据其宽度和内容调整视图当前高度?我应该以不同的方式接近这个吗?

cocoa-touch objective-c uiview ios autolayout

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

为什么clang优化会破坏我的内联汇编代码?

为了学习ARM程序集,我编写了一个简单的测试项目,使用内联汇编和NEON指令执行图像缩减.你可以在这里看到它:

https://github.com/rmaz/NEON-Image-Downscaling

经过一番努力,我设法让它工作,快乐的日子.除了它只适用于小于-O2的优化级别.我已经看了一下生成的ASM,但我看不出为什么会出现这种情况有任何明显的原因.谁能提供任何见解?这是负责内联汇编部分的函数:

static void inline resizeRow(uint32_t *dst, uint32_t *src, uint32_t pixelsPerRow)
{
    const uint32_t * rowB = src + pixelsPerRow;

    // force the number of pixels per row to a mutliple of 8
    pixelsPerRow = 8 * (pixelsPerRow / 8);    

    __asm__ volatile("Lresizeloop:                      \n" // start loop
                     "vld1.32       {d0-d3}, [%1]!      \n" // load 8 pixels from the top row
                     "vld1.32       {d4-d7}, [%2]!      \n" // load 8 pixels from the bottom row
                     "vhadd.u8      q0, q0, q2          \n" // average the pixels …
Run Code Online (Sandbox Code Playgroud)

c assembly arm objective-c clang

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

facebook sdk beta中的对话框发生了什么变化?

旧的SDK具有对话框方法,可以为各种任务提供简单的UI.此调用已从SDK测试版中删除,似乎没有任何替代它.我们现在应该如何实施这些东西呢?

objective-c facebook-ios-sdk

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

UICollectionViewFlowLayout不使用整数帧

我最近开始使用UICollectionView,对UICollectionViewFlowLayout有点困惑.似乎计算集合视图中每个单元格的帧,每个项目之间的空间相等.这会导致某些单元格的帧具有小数位置,这会导致标签模糊和图像像素未对齐等等.

我很惊讶地发现在堆栈溢出时没有关于这个的问题,这让我觉得我做错了.我创建了一个测试项目,非常简单地演示了这个问题:

https://github.com/rmaz/BlurryCollectionView

这真的是标准行为吗?在我看来,这使得流程布局在没有子类化的情况下基本上无法使用.或者我错过了什么?

cocoa-touch ios6 uicollectionview

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