- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用此消息将客户 View 动画化到设备屏幕的下边缘。我已连接布局约束并将初始常量设置为 -60。当该值设置为 0 时,我希望 View 动画到顶部。但不幸的是,预期的功能无法正常工作。即使方法被调用,当界面方向改变时, View 也被希望起来。我使用 Xcode 6.4 和 iOS 8 作为基础 sdk。任何帮助将不胜感激。
if (alertVisible)
{
self.alertViewVerticalConstraint.constant = 0;
[UIView animateWithDuration:0.25 animations: ^{
[self.view bringSubviewToFront:self.alertView];
self.alertView.alpha = 0.5;
[self.alertView layoutIfNeeded];
}];
}
else
{
self.alertViewVerticalConstraint.constant = -60;
[UIView animateWithDuration:0.25 animations: ^{
self.alertView.alpha = 0.0;
[self.alertView layoutIfNeeded];
}];
}
最佳答案
每当您想要为约束变化设置动画时,您必须在动画 block 中定义线条。
所以你的代码会变成这样,
if (alertVisible)
{
[UIView animateWithDuration:0.25 animations: ^{
self.alertViewVerticalConstraint.constant = 0;
[self.view bringSubviewToFront:self.alertView];
self.alertView.alpha = 0.5;
[self.view layoutIfNeeded];
}];
}
else
{
[UIView animateWithDuration:0.25 animations: ^{
self.alertViewVerticalConstraint.constant = -60;
self.alertView.alpha = 0.0;
[self.view layoutIfNeeded];
}];
}
关于ios - UIView 动画 layoutIfneeded 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35403792/
不太明白为什么layoutIfNeeded仍然没有返回布局的正确宽度...但是如果我通过调度获得宽度,它将返回正确的宽度。看来layoutIfNeeded 不会立即布局,而是异步的。如果我错了请纠正我
出现崩溃: navigationController.view.layoutIfNeeded() log : fatal error: unexpectedly found nil while unw
我有一个表格 View ,我使用此方法计算单元格高度 override func tableView(_ tableView: UITableView, heightForRowAt indexPat
所以,我有这样的代码 UIView.animate(withDuration: 2) { self.navigationController?.navigationBar.isHidden =
我有一个 UITextView,正在显示文本当文本不是很大时(我说的是 100-200 个单词),应用程序运行得很好 如果文本非常大(大约 10000 个单词),它就会不断崩溃 代码 func scr
我有一个按钮,可以根据某些情况改变大小。我不需要完成动画,因为用户永远看不到发生的变化。有时,当从较小尺寸切换回较大尺寸时,按钮会卡在较小尺寸上。我认为 layoutIfNeeded() 可以解决这个
我正在为 UITextField 的大小调整设置动画。我正在使用带有约束的自动布局。我的 Storyboard 中有 H:|-[textField] -(8)-[label]-(8)-[image]-
我正在使用此功能使用大量渐变绘图: func drawGradient(colors: [CGColor], locations: [NSNumber]) { let gradientLay
何时以及如何使用 layoutIfNeeded?我知道当我们更改 View 的布局时,我们可以调用 setNeedsLayout 来更新布局,但不确定何时应该使用 layoutIfNeeded。 注意
我正在 xib 文件中创建以下 View 。 有两个约束,我一次想要其中一个,所以我激活一个并停用另一个约束。 其中一个约束是 View (顶层 View )view.bottom == inputV
我正在尝试使用自动版式在屏幕上和屏幕外为我的 ADBannerView 制作动画。预自动布局(设置框架和动画)一切正常。现在我有以下代码,它在 viewDidLoad 上运行以确保广告横幅是否离开屏幕
我已经以编程方式构建了 View ,然后为它们设置了动画。有一个 View 动画链,最后一个是要设置动画的按钮。 当我通过调用 layoutIfNeeded() 更改约束(这些约束独立于其他约束并且没
我遇到了一个让我很困惑的问题。我写了一个简单的两张图片的动画,效果很好。但是突然间它停止了动画,我不明白为什么。我没有做任何我能想到的会影响动画的改变。我已经检查过 NSLayoutConstrain
UIView 我有两种状态: 我在它们之间使用 @IBaction 为 button 制作动画: @IBAction func tapped(sender: UIButton) { flag
一些 S.O.问题展示了一种自动布局技术,用于确定 View 满足其约束所需的最小尺寸:[header systemLayoutSizeFittingSize: UILayoutFittingComp
我这里有一个用于自定义 tableview 单元格的类,但在 awakeFromNib 中,self.frame 始终为 0,0,0,0。我尝试调用 [self layoutIfNeeded] 但这没
layoutIfNeeded 在 iPad 上无法正常工作,但在 iPhone 上可以正常工作。我想要一个圆形按钮。在 iPhone 上圆圈生成正确,但在 iPad 上它看起来像菱形。 _btnthu
我有一个适用于 iPad 的数学程序,它使用 Big Number 库进行计算,然后根据这些计算更新 UIView (myView) 中最多包含 20,000 个 UILabel 的数组。 计算可能需
我注意到的奇怪的事情: let navController = UINavigationController(rootViewController: myRootViewController) nav
我的主视图有一个 subview ,我使用以下扩展添加了一个掩码: extension UIView{ func addTopRoundCorners(){ let bezierPath =
我是一名优秀的程序员,十分优秀!