iPhone SDK提供的UIAlertView用以显示消息框,默认的消息框很简单,只需要提供title和message以及button按钮即可,而且默认情况下所有的text是居中对齐的。 那如果需要将文本向左对齐或者添加其他控件,例如输入框时该怎么办呢?不用担心,iPhone SDK还是很灵活的,有很多delegate消息供调用程序使用。所要做的就是在- (void)willPresentAlertView:(UIAlertView *)alertView中按照自己的需要修改即可,例如需要将消息文本左对齐,下面的代码即可实现:
- (void)willPresentAlertView:(UIAlertView *)alertView { for(UIView *view in alertView.subviews) { if([view isKindOfClass:[UILabel class]]) { UILabel *label = (UILabel *) view; label.textAlignment = UITextAlignmentLeft; } } }
这段代码很简单,就是在消息框即将弹出时,遍历所有消息框对象,将其文本对齐属性修改为UITextAlignmentLeft即可。
添加其他组件也一样,如下代码添加两个UITextField:
- (void)willPresentAlertView:(UIAlertView *)alertView { CGRect frame = alertView.frame; frame.origin.y -= 120; frame.size.height += 80; alertView.frame = frame; for(UIView *view in alertView.subviews) { if([view isKindOfClass:[UIButton class]]) { CGRect btnFrame = view.frame; btnFrame.origin.y += 70; view.frame = btnFrame; } } UITextField *accoutName = [[[UITextField alloc] init] autorelease]; UITextField *accoutPassword = [[[UITextField alloc] init] autorelease];; accoutName.frame = CGRectMake(10, 40, frame.size.width - 20, 30); accoutPassword.frame = CGRectMake(10, 80, frame.size.width - 20, 30); accoutName.placeholder = @"Account Name"; accoutPassword.placeholder = @"Password"; accoutName.borderStyle = UITextBorderStyleRoundedRect; accoutPassword.borderStyle = UITextBorderStyleRoundedRect; accoutPassword.secureTextEntry = YES; [alertView addSubview:accoutPassword]; [alertView addSubview:accoutName]; }
对于UIActionSheet其实也是一样的,在- (void)willPresentActionSheet:(UIActionSheet *)actionSheet中做同样的处理一样可以得到自己想要的效果。
相关推荐
自定义 UIAlertView
https://github.com/STShenZhaoliang/STAlertView 400行写的自定义UIAlertView,没有开太多接口,大家可以自由修改。
1.系统的UIAlertView使用方便,但是有时需要三个按钮,这时的UIAlertView会出现问题,三个按钮的默认摆放位置,不尽人意 2.使用UIAlertView的Delegate,来修改其布局
ios7 自定义UIAlertView ios7 UIAlertView 弹出 警告 自定义 简单实用。 支持转屏
自定义Alertview的Demo,给想要学习自定义的同学提供一些思路。建议看看我的博客,有这个demo的详细讲解blog.csdn.net/hello_hwc
https://github.com/STShenZhaoliang/STAlertView 感谢大家给提bug
作者paozi-jun,源码YYAlertView,Swift 语言编写自定义控件, 实现一个自定义的UIAlertView 。
自定义iOS AlertView v0.9.5 support for iOS7+ 自iOS7开始,addAlview在UIAlertView中不可用。 此类的视图层次结构是私有的,不能修改。 作为解决方案,此类创建一个iOS样式的对话框,您可以使用任何UIViews或...
自定义警告框、弹出框AlertView 自定义AlertView 实现自定义UIAlertView。继承UIAlertView,改写其中的layoutSubviews方法,用于自定义UIAlertView的外观
ios自定义UIAlertView,继承的UIAlertView,而不是UIView.
iOS 自定义UIAlertView ,使用第三方库Custom iOS7 AlertView,点击右上角itembar 弹出AlertView。
源码实现了怎样自定义UIAlertView的样式,包括背景图片以及按钮图片等等。是一个不错的学习例子,希望能够帮助到大家,。
自定义UIAlertView,消息文字可以左对齐,居中,右对齐。显示时具有动画效果
自定义类似于UIAlertView
模仿UIAlertView的最高层次,iOS中就像UIAlertView一样的层级最高,在状态栏以上层,当然也可以在状态栏下边,做到这个可以写自定义UIAlertView和网络请求加载轮,最高层菜单等等
源码实现如何自定义UIAlertView。继承UIAlertView,并改写其中的layoutSubviews方法,喜欢的朋友可以下载用于自定义UIAlertView的外观。是一个很好的例子,。