- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试从我的 viewController 顶部的底部为 UIWebView 设置动画,并且我正在使用砌体 ( https://github.com/Masonry/Masonry)。
我最初创建大小为 0 - (x,y,height and width) 的 webview,然后尝试为其设置动画,以便 webview 在 viewcontroller 的“顶部”设置动画。显示了 WebView ,但它没有在适当的位置设置动画 - 它只是立即出现。任何有经验的人都可以指导我正确的方向吗?
这是我的按钮操作
-(void)didPressBtn{
self.infoView = [UIWebView new];
self.infoView.scalesPageToFit = YES;
self.infoView.backgroundColor = [UIColor whiteColor];
self.infoView.delegate = self;
[self.scrollView addSubview:self.infoView];
[self.infoView makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(@(0));
}];
[self.scrollView layoutIfNeeded];
//FIXME: Hmmm it doesn't really animate!?
[UIView animateWithDuration:1 animations:^{
[self.scrollView setContentOffset:CGPointMake(0, 0)];
[self.infoView makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.scrollView);
}];
[self.scrollView layoutIfNeeded];
} completion:^(BOOL finished) {
[self.infoView loadRequest:[[NSURLRequest alloc] initWithURL:[[NSURL alloc] initWithString:NSLocalizedString(@"INFORMATION_URL", )] cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:15]];
}];
}
我的viewDidLoad
- (void)viewDidLoad
{
[super viewDidLoad];
self.scrollView = [UIScrollView new];
self.scrollView.backgroundColor = [UIColor whiteColor];
[self.view addSubview:self.scrollView];
[self.scrollView makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.view);
}];
UIView *contentView = [UIView new];
[self.scrollView addSubview:contentView];
[contentView makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.scrollView);
make.width.equalTo(self.scrollView);
}];
//Then adding buttons and such...
}
最佳答案
关于 didPressButton
的快速观察。您正在使用 mas_makeConstraints
将边设置为等于 @0
,然后立即再次使用 mas_makeConstraints
更改它们,以便填充 ScrollView 。这在第一组之上添加了相互矛盾的约束。
相反,您可以使用 mas_remakeConstraints
替换该 View 上的现有约束。
至于动画,我使用的模式是先更新约束(不在动画 block 内),然后为布局设置动画:
[UIView animateWithDuration:1
animations:^{
[theParentView layoutIfNeeded];
}];
关于ios - 砌体 animationWithDuration 没有动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26722357/
我有 2 个动画,其中一个动画调用另一个动画,但只有后者真正发生。我不确定问题是什么。我是 iOS 新手。我试图将其动画化为向上然后向下,但只发生向下。 此外,如果我将调用从 [self animat
我在 UITextField 上创建了一个类别,它允许在红色和白色之间设置动画,如下所示: @implementation UITextField (Additions) -(void) flash
我正在尝试从我的 viewController 顶部的底部为 UIWebView 设置动画,并且我正在使用砌体 ( https://github.com/Masonry/Masonry)。 我最初创建
@synchronized 会锁定到动画结束吗? __weak typeof(sharedManager) weakManager = sharedManager; ^(CMDeviceMotion
我有一个带有初始文本“开始”的开始按钮,该按钮连接到 Interface Builder 中的一个操作。 但是,动画会立即开始和结束,而不是 3 + 5 秒。这段代码有什么问题? @interface
我几乎可以用 AnimationWithDuration 做 TransistionWithView 能做的所有事情。我真的不确定什么时候只有一个用例超过另一个用例。 在 AnimateWithDur
我正在尝试使用 animationWithDuration 和多个选项实现一个 UIView 动画 block 。它工作正常,除了它似乎只使用我指定的选项之一而不是所有三个选项。我可以指定的选项数量是
我是一名优秀的程序员,十分优秀!