小编Ben*_*ime的帖子

使用AutoLayout在UIScrollView中修复/浮动视图

本技术说明中, Apple声明您可以通过向UISCrollView的superview添加约束来使UIScrollView的子视图固定/浮动.我试过了,但我做错了,我无法弄清楚问题是什么.

请注意,通过在视图和滚动视图子树外部的视图(例如滚动视图的超级视图)之间创建约束,可以使滚动视图的子视图显示为浮动(不滚动)在其他滚动内容上.

这就是我做的.我已经设置了UIScrollView并尝试将固定视图添加到scrollview的顶部,如下所示:

_testOverlay = [[UIView alloc] init];
_testOverlay.backgroundColor = [UIColor blueColor];
_testOverlay.translatesAutoresizingMaskIntoConstraints = NO;
[self.scrollView addSubview:_testOverlay];

[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"|[_testOverlay]|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_testOverlay)]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[_testOverlay(64)]-(>=0)-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_testOverlay)]];
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用,添加的视图将与scrollview一起移动并且不会"浮动".这里有什么想法吗?

header uiscrollview ios autolayout

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

等待action更新react-native和redux中的状态

我有一个简单的react-native应用程序和一个redux存储设置.基本上我想添加一个新故事,发送redux动作并在创建后转换到这个新故事.

我的Container Component中有以下代码,当用户点击add按钮时会运行该代码.

 addStory() {
    this.props.actions.stories.createStory()
      .then(() => Actions.editor({ storyId: last(this.props.stories).id }); // makes the transition)
  }
Run Code Online (Sandbox Code Playgroud)

以及动作创作者.

export const createStory = () => (dispatch) => {
  dispatch({ type: CREATE_STORY, payload: { storyId: uniqueId('new') } });
  return Promise.resolve();
};
Run Code Online (Sandbox Code Playgroud)

如您所见,我在动作创建者中返回一个承诺.如果我不在此处返回承诺,则将在状态更新之前进行转换.

这对我来说有点奇怪 - 为什么我必须在这里返回一个已经解决的Promise?不是发送意味着同步吗?

javascript react-native redux

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

UICollectionView不调用intrinsicContentSize

我有一个UICollectionViewController生成具有随机颜色的细胞用于测试目的.既然UICollectionViewController嵌入了a UIScrollView,我希望scrollView与它的大小相同contentSize.

我创建了一个子类UICollectionView,实现了intrinsicContentSize方法,并将UICollectionView我的类设置为IB中的自定义类.但是intrinsicContentSize永远不会被称为.我有一个完全相同的设置UITableView并在那里它完美无缺.

有什么想法吗?

- (CGSize)intrinsicContentSize {
    [self layoutIfNeeded];
    return CGSizeMake(UIViewNoIntrinsicMetric, self.contentSize.height);
}
Run Code Online (Sandbox Code Playgroud)

ios autolayout uicollectionview uicollectionviewlayout

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