jwk*_*knz 3 animation uitextfield uiview uiswitch ios
我有一个主要的UIView,它通过一个开关向上移动.我有这个工作,那里没有问题.现在UIView在关闭时占据屏幕的大约一半,当它向上推时它显示底部40px.
在UIView中,当它关闭时它有一个UITextField,它位于中间的某个地方.当UIView被推高时,我希望UITextField移动到这些40px内,以便它始终可访问.
这是我为UIView移动的代码:
-(IBAction)mainview:(id)sender{
if (uiSwitch.on) {
label.text = @"Push Up View";
[UIView beginAnimations:@"animateView" context:nil];
[UIView setAnimationDuration:0.5];
CGRect viewFrame = [subView frame];
viewFrame.origin.y += 0;
subView.frame = viewFrame;
subView.alpha = 1.0;
[self.view addSubview:subView];
[UIView commitAnimations];
}
if ([uiSwitch isOn] == YES) {
[UIView beginAnimations:@"animateView" context:nil];
[UIView setAnimationDuration:0.5];
CGRect viewFrame = [subView frame];
viewFrame.origin.y = 0;
subView.frame = viewFrame;
[UIView commitAnimations];
}
else {
label.text = @"Show View";
[UIView beginAnimations:@"returnView" context:nil];
[UIView setAnimationDuration:0.5];
CGRect viewFrame = [subView frame];
viewFrame.origin.y = -230;
subView.frame = viewFrame;
subView.alpha = 1.0;
[UIView commitAnimations];
}}
Run Code Online (Sandbox Code Playgroud)
UITextField尚未添加到此处,这就是我被困住的地方.我知道我可能不得不为UITextField创建一个类似的IBAction,但我不确定如何为该位设置动画.
任何帮助??? 干杯杰夫
mag*_*gma 10
您可以同时为多个视图设置动画.你的代码:
label.text = @"Show View";
[UIView beginAnimations:@"returnView" context:nil];
[UIView setAnimationDuration:0.5];
CGRect viewFrame = [subView frame];
viewFrame.origin.y = -230;
subView.frame = viewFrame;
subView.alpha = 1.0;
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)
..可以在您的UITextField上包含额外的帧操作:
label.text = @"Show View";
[UIView beginAnimations:@"returnView" context:nil];
[UIView setAnimationDuration:0.5];
CGRect viewFrame = [subView frame];
viewFrame.origin.y = -230;
subView.frame = viewFrame;
subView.alpha = 1.0;
// let's move our textField too
CGRect textFieldFrame=textField.frame;
frame.origin.y+=40;
textField.frame=textFieldFrame;
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)
请注意,如果您的目标是iOS 4.x或更高版本,则可以依赖动画块:
[UIView animateWithDuration:0.5 animations:^{
CGRect frame;
// move our subView to its new position
frame=subView.frame;
frame.origin.y=-230;
subView.frame=frame;
subView.alpha=1.0;
// let's move our textField too
frame=textField.frame;
frame.origin.y=40;
textField.frame=frame;
}];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13723 次 |
| 最近记录: |