文档章节

iOS 自定义弹出框

我是IT码农
 我是IT码农
发布于 2015/05/22 10:54
字数 231
阅读 8699
收藏 2

在iOS中,系统再带的弹出窗体不好扩展,开发时候不如自定义一个弹出窗体,附加上显示和消失的动画。 输入图片说明

弹出窗体父类如下,具体效果直接往上面添加控件就行。 // // ViewController.swift // NoahSalesManage // // Created by Administrator on 15/3/5. // Copyright (c) 2015年 cdwlb-zhangzhengfa. All rights reserved. //

import UIKit

class BounceView:UIControl {

var contentView:UIControl?;

override init(frame: CGRect) {
    super.init(frame: frame)
    self.processInterface()
}

required init(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
    self.processInterface()
}

func processInterface()
{
    
    self.backgroundColor = UIColor(white: 0, alpha: 0.8)
    
    self.contentView = UIControl(frame: CGRectInset(self.frame, 20, 40))
    self.contentView!.backgroundColor = UIColor.whiteColor()
    self.addSubview(self.contentView!)
    
    self.alpha = 0
    self.contentView!.transform = CGAffineTransformMakeScale(0.1, 0.1);
}

func showWithAnimation(animation:Bool)
{
    if !animation
    {
        self.alpha = 1
    }
    else
    {
        UIView.animateWithDuration(0.5, delay: 0, options: .CurveEaseInOut, animations: { () -> Void in
            self.alpha = 1
            self.contentView!.transform = CGAffineTransformIdentity
            }, completion: { (succss) -> Void in
                
        })
    }
}

func hideWithAnimation(animation:Bool)
{
    if !animation
    {
        self.alpha = 1
    }
    else
    {
        UIView.animateWithDuration(0.5, animations: { () -> Void in
            self.alpha = 0
            self.contentView!.transform = CGAffineTransformMakeScale(0.1, 0.1)
        })
    }
}

}

© 著作权归作者所有

我是IT码农
粉丝 6
博文 66
码字总数 29699
作品 0
成都
程序员
私信 提问
加载中

评论(2)

w
woshifage
挺实用的这段代码
achiver
achiver
good good study
前端系列——与众不同的移动端底部固定栏 fixed、absolute 兼容 iOS 和 Android 方案

相信我,我分享的和你在其他博客上看到的终极方案是如此的与众不同! 做过移动端开发的同学,对底部DOM定位出现的各种奇葩情况已经深恶痛绝了吧,底部DOM设置不同的position,在Android和ios...

大灰狼的小绵羊哥哥
2018/09/13
0
0
ios系统在微信浏览器中的bug-键盘弹出再收起后,界面点击区域失效

最近ios发布新版本系统12.1,随着部分用户的系统更新,一些问题也渐渐暴露出来。。。 公司做个活动页,在ios系统中弹出登录界面,在键盘弹出再收起后,反应点击区域会无效 在H5端是没法监控键...

醉雨
09/06
46
0
IOS12开发者预览版第二版使用评测

     手头有一部iPhone 6s Plus,因为之前看同学和朋友们升到IOS 11后手机变得非常卡顿所以没有升级。最近偶然看到IOS 12针对旧机型做了性能优化,号称提升70%相机打开速度、50%键盘显示...

张旭乾
2018/06/23
0
0
【书坊赠书福利——第二期】《iOS 8开发指南》

本周是人邮IT书坊赠书的第二期,第一期参与度极高,微信君在此感谢你们的支持,第一期获奖赠书已全部寄出。 本周赠品 本周,微信君给大家推荐@人民邮电出版社-信息技术分社 刚刚上架的新书《...

生气的散人
2014/09/23
393
0
ios 最新系统bug与解决——微信公众号中弹出键盘再收起时,原虚拟键盘位点击事件无效

最近ios发布新版本系统12.1,随着部分用户的系统更新,一些问题也渐渐暴露出来。。。 公司用户反映微信公众号出现了点击无效的bug!!测试调查发现,只有iphonex、iphone6,ihpone7等部分机型...

ZoenLeo
2018/12/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

链表中环的入口节点

给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 思路: public ListNode EntryNodeOfLoop(ListNode pHead) { if (pHead == null || pHead.next == null) ...

Garphy
9分钟前
2
0
Spring5 源码分析-容器刷新-invokeBeanFactoryPostProcessors()方法

上一篇:Spring5 源码分析-容器刷新-prepareBeanFactory()方法 该方法主要完成以下功能: 1.实例化ConfigurationClassPostProcessor,并调用ConfigurationClassPostProcessor.postProcessBe...

特拉仔
9分钟前
3
0
为什么MySQL用B+树做索引

索引这个词,相信大多数人已经相当熟悉了,很多人都知道MySQL的索引主要以B+树为主,但是要问到为什么用B+树,恐怕很少有人能把前因后果讲述的很完整。本文就来从头到尾介绍下数据库的索引。...

小致Daddy
35分钟前
4
0
网站前台的三级联动数据封装

我在进行项目时候遇到了一个进行数据封装的一个功能,进行数据的封装的功能也挺复杂,来回试了好几十种方法.最后使用的是这种方法. 使用一个pojo进行封装两个数据,一个是list一个是实体类. 具体...

小天丶羽
37分钟前
4
0
创龙基于TI AM437x ARM Cortex-A9 + Xilinx Spartan-6 FPGA的SPI FLASH、硬件加密芯片

TL437xF-EVM是一款广州创龙基于TI AM437x ARM Cortex-A9 + Xilinx Spartan-6 FPGA设计的开发板,底板采用沉金无铅工艺的4层板设计,尺寸为240mm*130mm,它为用户提供了SOM-TL437xF核心板的测...

Tronlong创龙
39分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部