精华内容
下载资源
问答
  • layer.open 调用子类窗口方法, 子类调用父类方法 <!-- 父类 --> var index = layer.open({ type : 2, title : title, shadeClose : true, shade : 0.8, ...

    layer.open 调用子类窗口方法, 子类调用父类方法

    <!-- 父类 -->
    var index = layer.open({
                   type : 2,
                   title : title,
                   shadeClose : true,
                   shade : 0.8,
                   area : [ '500px', '380px' ],
                   content : _BasePath + 'z/b/b/l',
                   btn: ['进入', '关闭'],
                   btn1: function(){
                   	    // 父类调用子类方法
                   	   var fh = window["layui-layer-iframe" + index].onEnter();
                   	   alert(JSON.stringify(fh))
                    },
                   btn2: function(){
                       layer.closeAll(); //关闭窗口
                   }, 
                   end:function(){]
                      // 清除session里缓存
                   	  document.location.href= _BasePath + "logout";
                   }
             });  
         <!-- 子类页面 -->    
    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags"%>
    <html lang="zh-CN">
    <head>
    <title></title>
    <meta charset="utf-8">
    <%
    	String path = request.getContextPath();
    	String basePath = path + "/";
    %>
    <base id="basePath" href="<%=basePath%>">
    <script type="text/javascript">
        var _BasePath = "<%=basePath%>";
    </script>
    <jsp:include page="/WEB-INF/head.jsp" />
    </head>
    <script type="text/javascript">
    
      function onEnter(){
    	  var fh = {
    	      msg:"error"
    	  };
    	  return fh;
       }
    </script>
    <body>
    <div class="prop-window"></div>
    </body>
    </html>
    
    
    
    
    展开全文
  • 子类调用父类方法:c++和java的不同

    千次阅读 2014-01-31 14:35:47
    子类调用父类方法:c++和java的不同   bool GameScene::init(){ if (!Scene::init()) { return false; } } 我自定义了一个场景,在场景的初始化中,有这么一句: Scene::init() 到这里,我百思不得其解,为...

    子类调用父类方法:c++java的不同

     

    bool GameScene::init(){
    	if (!Layer::init())
    	{
    		return false;
    	}
    }
    

    我自定义了一个场景,在场景的初始化中,有这么一句:

    Scene::init()

    到这里,我百思不得其解,为什么呢?

     

    下面分析:

    因为我是一名java程序员,按照java的思想,使用类名调用的方法,就是静态方法,并且是全局的。因此到了这句,我就认为是调用了父类的一个全局函数。

     

    这岂能怨我,谁然c++中的子类调用父类的方法,写成是:Scene::init()这种方式呢?这明显是java调用全局方法的写法吗,是不是。

     

    从上面可以看出来,在这一点,java和c++是有很大的区别的,所以说,想学语言,首先要去学习java,因为简单呀,之后再去学习c,然后再来学习c++,因为东西太多了。

     

    废话不多说了,现在来说一下上面的例子,其实很简单:

    Scene::init()这个调用就是c++中很经常的调用,子类调用父类的方法,和java中的super.init()是一个概念,不存在什么全局不全局的问题。

     

    补充一点:上面的是普通方法的子父类调用,对于构造函数里面,和上面所说的也完全一样,如下:

      

    看到了么?就是这么简单。这个千万要和java区分开来。

     

    class A
    {
    public:
    	A()
    	{
    		printf("aaaa\n");
    	}
    	~A()
    	{
    		printf("~~~~~aa\n");
    	}
    };
    class B : public A
    {
    public:
    	B()
    	{
    		A::A();
    		printf("bbbb\n");
    	}
    	~B()
    	{
    		A::~A();
    		printf("~~~~bbb\n");
    	}
    };
    void main(void)
    {
    	B c;
    }
    

    接下来看一下调用了父类的什么方法?

    bool Layer::init()
    {
        bool ret = false;
        do 
        {        
            Director * director;
            CC_BREAK_IF(!(director = Director::getInstance()));
            this->setContentSize(director->getWinSize());
            // success
            ret = true;
        } while(0);
        return ret;
    }
    


    展开全文
  • 为制作制作iOS悬浮可拖动、吸附屏幕边缘的按钮,网上搜索到了一个古老的第三方类方法(如下)。导入我的工程后,出现了tabbar、拍照按钮等失效或响应非常慢的情况。究竟是什么出错了呢?请先看这位同学写的源代码:...

    为制作制作iOS悬浮可拖动、吸附屏幕边缘的按钮,网上搜索到了一个古老的第三方类方法(如下)。

    导入我的工程后,出现了tabbar、拍照按钮等失效或响应非常慢的情况。究竟是什么出错了呢?请先看这位同学写的源代码:

    设计UIButton的分类:UIButton+NMCategory.h:

    @interface UIButton (NMCategory)
    
    @property(nonatomic,assign,getter = isDragEnable)   BOOL dragEnable;
    @property(nonatomic,assign,getter = isAdsorbEnable) BOOL adsorbEnable;
    
    @end
    分类的实现:
    #import "UIButton+NMCategory.h"
    #import <objc/runtime.h>
    #define PADDING     5
    static void *DragEnableKey = &DragEnableKey;
    static void *AdsorbEnableKey = &AdsorbEnableKey;
    
    @implementation UIButton (NMCategory)
    
    
    -(void)setDragEnable:(BOOL)dragEnable
    {
        objc_setAssociatedObject(self, DragEnableKey,@(dragEnable), OBJC_ASSOCIATION_RETAIN_NONATOMIC);
    }
    
    -(BOOL)isDragEnable
    {
        return [objc_getAssociatedObject(self, DragEnableKey) boolValue];
    }
    
    -(void)setAdsorbEnable:(BOOL)adsorbEnable
    {
        objc_setAssociatedObject(self, AdsorbEnableKey,@(adsorbEnable), OBJC_ASSOCIATION_RETAIN_NONATOMIC);
    }
    
    -(BOOL)isAdsorbEnable
    {
        return [objc_getAssociatedObject(self, AdsorbEnableKey) boolValue];
    }
    
    CGPoint beginPoint;
    
    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
    {
        self.highlighted = YES;
        if (![objc_getAssociatedObject(self, DragEnableKey) boolValue]) {
            return;
        }
        
        UITouch *touch = [touches anyObject];
        
        beginPoint = [touch locationInView:self];
    }
    
    
    - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
    {
        self.highlighted = NO;
        if (![objc_getAssociatedObject(self, DragEnableKey) boolValue]) {
            return;
        }
        
        UITouch *touch = [touches anyObject];
        
        CGPoint nowPoint = [touch locationInView:self];
        
        float offsetX = nowPoint.x - beginPoint.x;
        float offsetY = nowPoint.y - beginPoint.y;
        
        self.center = CGPointMake(self.center.x + offsetX, self.center.y + offsetY);
    }
    
    -(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
    {
        if (self.highlighted) {
            [self sendActionsForControlEvents:UIControlEventTouchUpInside];
            self.highlighted = NO;
        }
        
        if (self.superview && [objc_getAssociatedObject(self,AdsorbEnableKey) boolValue] ) {
            float marginLeft = self.frame.origin.x;
            float marginRight = self.superview.frame.size.width - self.frame.origin.x - self.frame.size.width;
            float marginTop = self.frame.origin.y;
            float marginBottom = self.superview.frame.size.height - self.frame.origin.y - self.frame.size.height;
            [UIView animateWithDuration:0.125 animations:^(void){
                if (marginTop<60) {
                    self.frame = CGRectMake(marginLeft<marginRight?marginLeft<PADDING?PADDING:self.frame.origin.x:marginRight<PADDING?self.superview.frame.size.width -self.frame.size.width-PADDING:self.frame.origin.x,
                                            PADDING,
                                            self.frame.size.width,
                                            self.frame.size.height);
                }
                else if (marginBottom<60) {
                    self.frame = CGRectMake(marginLeft<marginRight?marginLeft<PADDING?PADDING:self.frame.origin.x:marginRight<PADDING?self.superview.frame.size.width -self.frame.size.width-PADDING:self.frame.origin.x,
                                            self.superview.frame.size.height - self.frame.size.height-PADDING,
                                            self.frame.size.width,
                                            self.frame.size.height);
                    
                }
                else {
                    self.frame = CGRectMake(marginLeft<marginRight?PADDING:self.superview.frame.size.width - self.frame.size.width-PADDING,
                                            self.frame.origin.y,
                                            self.frame.size.width,
                                            self.frame.size.height);
                }
            }];
            
        }
    }
    
    
    @end
    在要实现的viewController里,添加一个window成员变量:
    @property (strong, nonatomic) UIWindow *window;
    
    在VC里放入按钮:
        //可拖动、自动贴近边缘的按钮
        UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(5, 100,60, 60)];
        btn.backgroundColor = [UIColor redColor];
        btn.tag = 0;
        btn.layer.cornerRadius = 8;
        [btn setDragEnable:YES];
        [btn setAdsorbEnable:YES];
        [self.view addSubview:btn];
        [btn addTarget:self action:@selector(showTag:) forControlEvents:UIControlEventTouchUpInside];
    这里,showTag: 作为点击按钮后触发的事件,可以按照自己的需要改写。

    先不说古老的编程方式(@synthesize应该不再用了,新版编译器的可以直接交由@property完成了)……这个写得有个致命的错误,各位新手要引以为戒: 在调用touchesBegan等方法时,没有先调用[super touchesBegan:] 。也就是说,在扩展类中不先调用父类方法,而是直接重写,这会导致父类方法会调用,效果上相当于直接覆盖父类方法,这就导致UIButton原本的touchesBegan等方法的效果不再体现。所以很多按钮都发生了问题。

    这个错例告诉我们在做类扩展、分类、继承时必须要注意的事项。

    那么iOS悬浮按钮的稳妥制作方法是什么呢?请查看本博客另一篇博文。

    展开全文
  • js调用父类方法,模拟java中的super()

    千次阅读 2014-09-29 16:01:23
    如题,使用apply,或者call来模拟 var baseClass = cc.LayerColor.extend({ ctor:function(){ this._super();... console.log("hello,... BaseLayer.prototype.destory.apply(this,arguments); } })

    如题,使用apply,或者call来模拟

    var baseClass = cc.LayerColor.extend({
    	ctor:function(){
               this._super();
    	},
    	destory:function(){
    	   console.log("hello,world.");
    	}
    })
    
    var subClass = baseClass.extend({
         ctor:function(){
    	this._super();
         },
    
         destory:function(){
             BaseLayer.prototype.destory.apply(this,arguments);
         }
    })


    展开全文
  • layer.open({ type : 2, title : '微信公众号', maxmin : true, shadeClose : false, area : [ '400px', '200px' ], content :'/frame/checkWeiXin/'+username, // iframe的url btn: ["确定", '关闭'...
  • //调用父类方法 window.parent.exportData($('#shownum').val(),$('#splitstr').val()); //关闭iframe页面 var index = parent.layer.getFrameIndex(window.name); //获取窗口索引 parent.layer.close(index); //...
  • //调用父类方法 window.parent.exportData($('#shownum').val(),$('#splitstr').val()); //关闭iframe页面 var index = parent.layer.getFrameIndex(window.name); //获取窗口索引 parent.layer.close(index...
  • //调用父类方法 window.parent.exportData($('#shownum').val(),$('#splitstr').val()); //关闭iframe页面var index = parent.layer.getFrameIndex(window.name); //获取窗口索引parent.layer.close(index); ...
  • 蓝松短视频SDK -android版本父类图层Layer方法说明 更新日期是:20191018 SDK版本:3.7.0 说明 蓝松短视频SDK的优势是图层容器架构, 每个资源在我们SDK里被封装为一层, 比如视频封装为视频层, 你可以放多个视频, ...
  • 情景: 一个表单,某个表单项,比如是 “绑定机构” 表单项,点击此表单项要... 图显示: ... ...子页面关闭,同时父页面,“绑定机构表单项”有数据。...使用 layer插件 function bindOrg(){ var url ="${ctx}/da...
  • 在使用tensorflow2.0搭建自定义层时,经常会将kears.Model类和keras.layers.Layer类作为父类。通常,继承Model的子类用来定义外部模型,作为训练的对象。...super() 函数是用于调用父类(超类)的一个方法
  • OC的动态方法调用带来的超大便利

    千次阅读 2012-01-18 17:39:51
    这时只要简单的在两种父层中实现用一个名字的方法,如moneyShake, 然后直接在商店里调用即可, 不用import任何父类,也无需保持指针. [self.parent moneyShake]; 虽然这样写运行中不会出什么问题, 但是编译器会...
  • layer弹出层子父页面传值 以及函数调用(其中包括从子页面重载父页面table) 这段时间使用layer开发项目,期间碰到了弹出层子父页面传值以调用函数的问题,解决之后在这里记录一下。 第一种情况:直接layer.open()...
  • RMI远程方法调用概述

    2014-03-06 09:45:37
    RRMI远程方法调用概述 相关概述 RMI是Java的一组拥护开发分布式应用程序的API。RMI使用Java语言接口定义了远程对象,它集合了Java序列化和Java远程方法协议(Java Remote Method Protocol)。简单地说,这样使原先...
  • 在__init__构造函数里调用父类构造函数,并把参数传到父类。 build方法里初始化权重变量。 call方法里编写计算图。 构造函数参数: trainable:布尔值,层的变量是否可训练。 name:图层的字符串名称。 dtype:...
  • Chromium网页Layer Tree同步为Pending Layer Tree的过程分析

    万次阅读 热门讨论 2016-05-09 01:02:36
    CC Layer Tree绘制完成后,会同步到一个新的CC Pending Layer Tree去。同步过程由Compositor线程执行,并且Main线程处于等待状态。所谓同步,就是将CC Layer Tree的内容拷贝到CC Pending Layer Tree去。同步完毕,...
  • keras源码分析之Layer

    千次阅读 2019-08-02 17:26:07
    本文主要是对class Layer(object)代码的分析,keras所有的层都是Layer父类,class Sequential(Model)继承了keras/engine/training.py中的Model类,而Model类则继承了同目录下的keras/engine/topology.py中的...
  • caffe源码分析-layer

    千次阅读 2018-10-07 10:01:55
    本文主要分析caffe layer层,主要内容如下: 从整体上说明下caffe的layer层的类别,以及作用 通过proto定义与类Layer简要说明下Layer的核心成员变量; Layer类的核心成员函数 1. 类Layer ...
  • layui 使用iframe调用父页面的方法

    千次阅读 2019-11-07 17:13:11
    方法调用父页面方法时,页面会进行报错:方法名 is not function。 解决的办法: 在父页面使用windwo定义一个全局的方法 //用来供子页面成功后调用 window.success = function(){ renderCardData(); ...
  • 父级页面写的方法下面两种东可以,在弹框页面(子页面)的点击事件里添加 parent.$(’.refresh’).click(); 就可以调用父级页面的方法了。 父级页面的方法1: 父级页面的方法2:
  • 最近在看曹世博老师关于cocos引擎的学习教程,打算重新再系统梳理一下cocos相关的知识结构,学习之余把自己的一些收获和理解总结记录下来,方便日后自己回顾并同时希望本笔记可以对各位cocos学习者有所帮助...Layer是处
  • Chromium网页Layer Tree创建过程分析

    万次阅读 热门讨论 2016-03-28 01:02:05
    在Chromium中,WebKit会创建一个Graphics Layer Tree描述网页。Graphics Layer Tree是和网页渲染相关的一个Tree。网页渲染最终由Chromium的CC模块完成,因此CC模块又会根据Graphics Layer Tree创建一个Layer Tree,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,966
精华内容 3,586
关键字:

layer调用父类方法