我的iOS应用程序上有一个页面,基于下图,如下所示。
目前,我正在使用initWithFrame布局所有内容,并明确设置每个项目的框架,我知道这可能不是很好(我是ios开发的新手,所以请指出我正确的方向)。< / p>
我想要实现的是,当某些文本输入到第二个文本字段时,粉红色框将显示,并且超视图将正确响应,并在新字段周围进行布局。
我对事件本身没有任何问题,我可以轻松地依次改变每个UIView的框架,但我觉得这是错误的,并且会喜欢一些指针。我最终还是喜欢粉红色的框来制作动画,因此包含了用它制作动画的视图。
我希望我已经彻底解释了自己。非常感谢
答案 0 :(得分:0)
如果你有事件触发,你想在后面运行动画,这是一个非常简单的事情。
- (void)myEventMethod:(id)sender {
// Do your event stuff here
// Animate the pink box into view
// The below assumes the pink box is hidden behind the blackView and you'd like to drop it down 44 pixels over 0.3 seconds - hopefully correct - haven't tested
// need to be careful as it'll move down 44px every time myEventMethod: is triggered
[UIView animateWithDuration:0.3
delay:0.0
options:UIViewAnimationOptionCurveEaseIn
animations:^{
CGRect pinkboxEndFrame = CGRectMake(self.blackView.frame.origin.x, self.blackView.frame.origin.y + 44, self.pinkbox.frame.size.width, self.pinkbox.frame.size.height);
[self.pinkbox setFrame:pinkboxEndFrame];
}
completion:nil];
}
只需使用您想要对其他视图执行的任何其他动画更新上述内容。
有关动画视图的详细信息,请查看Apple的View Programming Guide。