V.V*_*V.V 32 iphone cocoa-touch objective-c ios
我想alert view在iOS应用程序中创建自定义.例如,我希望把一些images在此alert,并改变其颜色.
我知道如何创建一个普通的UIAlertView,但有没有办法自定义alert view?
Nat*_* S. 39
我设置了自己的UIViewController,我可以使用自己的图像进行修饰.我通常只使用一个或两个按钮,所以如果它没有被使用我隐藏第二个按钮.视图实际上是整个屏幕的大小,因此它会阻挡它背后的触摸,但它大部分都是透明的,因此背景显示出来.
把它带进来的时候,我会用一些动画让它像Apple的警示视图一样反弹.像这样的东西有效:
-(void)initialDelayEnded {
self.view.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.001, 0.001);
self.view.alpha = 1.0;
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:kTransitionDuration/1.5];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(bounce1AnimationStopped)];
self.view.transform = CGAffineTransformScale(CGAffineTransformIdentity, 1.1, 1.1);
[UIView commitAnimations];
}
- (void)bounce1AnimationStopped {
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:kTransitionDuration/2];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(bounce2AnimationStopped)];
self.view.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.9, 0.9);
[UIView commitAnimations];
}
- (void)bounce2AnimationStopped {
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:kTransitionDuration/2];
self.view.transform = CGAffineTransformIdentity;
[UIView commitAnimations];
}
Run Code Online (Sandbox Code Playgroud)
我有可能在类中内置一个短延迟,因此当延迟结束时会调用initialDelayEnded.
初始化时,我按下每个按钮时传入一个我想调用的对象和选择器,然后在按下按钮时调用对象上的相应选择器.
Tom*_*ift 12
这是我写的自定义警报视图,它是UIAlertView的替代品.您可以设置自定义背景图像; 扩展以支持自定义背景颜色并不难.
https://github.com/TomSwift/TSAlertView
| 归档时间: |
|
| 查看次数: |
46605 次 |
| 最近记录: |