`
jsntghf
  • 浏览: 2542746 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

自定义UIAlertView

    博客分类:
  • iOS
阅读更多

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

    然而,在某些场景下,开发者可能仍需要自定义UIAlertView来实现特定的界面风格或者功能需求。自定义UIAlertView可以帮助我们打破系统的限制,提供更加个性化的用户体验。下面将详细探讨如何在iOS中进行自定义...

    ios-400行自定义UIAlertView.zip

    https://github.com/STShenZhaoliang/STAlertView 400行写的自定义UIAlertView,没有开太多接口,大家可以自由修改。

    ios UIAlertView修攺其布局,自定义UIAlertView

    针对这个问题,我们可以对`UIAlertView`进行自定义,以实现更丰富的功能和视觉效果。 首先,当需要在`UIAlertView`中添加第三个按钮时,系统默认的实现会显得布局不够理想。通常,`UIAlertView`会将两个按钮水平...

    ios7 自定义UIAlertView

    本文将深入探讨在iOS7环境下如何自定义UIAlertView。 首先,iOS7的UI风格发生了重大改变,引入了扁平化设计,原有的UIAlertView样式与新系统设计不协调。为了实现与系统风格一致或者更个性化的警告视图,开发者通常...

    ios-自定义UIAlertView虚化.zip

    这个名为“ios-自定义UIAlertView虚化.zip”的压缩包文件提供了一个自定义的alertView实现,它可能包含了一种特殊的虚化效果,以增强与系统原生UIAlertView的差异性和个性化。这个项目源自GitHub上的开源库,由...

    自定义UIAlertview的Demo

    然而,有时候开发者可能需要更自定义的界面来满足特定的设计需求,这就涉及到了自定义`UIAlertView`。本Demo是关于如何自定义`UIAlertView`的一个实践示例,适合那些希望学习自定义对话框的开发者。 首先,我们要...

    自定义的UIAlertView控件 iOS

    标题"自定义的UIAlertView控件 iOS"表明我们将探讨的是如何在Swift中创建一个自定义版本的UIAlertView。 作者paozi-jun的开源项目YYAlertView是基于Swift实现的,它提供了更多的自定义选项,如样式、按钮、动画效果...

    ios-custom-alertview:自定义UIAlertView。 继续将图像和UIViews添加到iOS7 +中的对话框

    自定义iOS AlertView v0.9.5 support for iOS7+ 自iOS7开始,addAlview在UIAlertView中不可用。 此类的视图层次结构是私有的,不能修改。 作为解决方案,此类创建一个iOS样式的对话框,您可以使用任何UIViews或...

    自定义警告框、弹出框AlertView

    自定义警告框、弹出框AlertView 自定义AlertView 实现自定义UIAlertView。继承UIAlertView,改写其中的layoutSubviews方法,用于自定义UIAlertView的外观

    自己写的一个UIAlertView效果

    在iOS开发中,UI元素的显示和交互通常需要考虑不同设备的屏幕尺寸和方向,因此自定义UIAlertView可能需要处理这些适配问题。 在文件名"MyAlertTest"中,我们可以猜测这是一个测试项目或者代码文件,可能是为了演示...

    ios-UIalertView.zip

    1. **自定义UIAlertView子类**:扩展UIAlertView,添加一个UITableView或者UICollectionView来展示列表。这样做的好处是可以在保持UIAlertView弹出样式的同时,自由定制列表内容。 2. **使用UIAlertController**:...

    iOS自定义提示弹出框实现类似UIAlertView的效果

    通过标签,我们可以了解关键词是“ios自定义uialertview”、“自定义uialertview”和“ios 弹出自定义view”。这意味着我们要关注的是如何在iOS应用中创建并显示一个自定义的视图,而不是使用系统的UIAlertView。 ...

    自定义实现UIAlertView的样式效果

    本教程将通过一个源码实例,讲解如何自定义UIAlertView的样式,包括设置背景图片和按钮图片,以实现更具个性化的交互体验。 首先,我们需要了解UIAlertView的工作原理。它是一个模态视图,通常出现在屏幕中央,显示...

    HHAlertView

    HHAlertView是一款针对iOS平台开发的自定义UIalertView的示例项目,旨在提供一种更加灵活、可定制化的方式来展示警告视图。在iOS系统中,UIAlertView是原生用来显示警告或提示用户信息的控件,但其功能相对有限,...

    WZKAlertView

    模仿UIAlertView的最高层次,iOS中就像UIAlertView一样的层级最高,在状态栏以上层,当然也可以在状态栏下边,做到这个可以写自定义UIAlertView和网络请求加载轮,最高层菜单等等

    ios-类似UIAlertView自定义.zip

    本压缩包文件"ios-类似UIAlertView自定义.zip"提供的内容就是关于如何在iOS中创建一个自定义的弹出视图,模仿`UIAlertView`的外观和行为。 首先,我们需要理解`UIAlertController`的基本用法。`UIAlertController`...

Global site tag (gtag.js) - Google Analytics