zoukankan      html  css  js  c++  java
  • UIView+ViewController.h 点击控制器上视图,使视图push下个视图控制的封装

    文件名:UIView+ViewController.h

    #import <UIKit/UIKit.h>

    @interface UIView (ViewController)

    - (UIViewController *)viewContoller;

    @end

    UIView+ViewController.m

    #import "UIView+ViewController.h"

    @implementation UIView (ViewController)

    - (UIViewController *)viewContoller {

        UIResponder *next = self.nextResponder;

        

        do {

            if ([next isKindOfClass:[UIViewController class]]) {

                return (UIViewController *)next;

            }

            

            next = next.nextResponder;

            

        } while (next != nil);

        /**

         *  循环结束未找到

         */

        return nil;

    }

    @end

    返回的事一个视图控制器,接下来我们看看具体使用

    #import "MyView.h"

    #import "UIView+ViewController.h"

    #import "SecondViewController.h"

    新建一个类MyView继承与UIView,给button一事件 

    @implementation MyView

    - (instancetype)initWithFrame:(CGRect)frame

    {

        self = [super initWithFrame:frame];

        if (self) {

            

            UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];

            button.frame = CGRectMake(90, 90, 90, 90);

            button.backgroundColor = [UIColor redColor];

            [button addTarget:self action:@selector(buttonAction) forControlEvents:UIControlEventTouchUpInside];

            [self addSubview:button];

        }

        return self;

    }

    - (void)buttonAction {

        SecondViewController *secondCtrl = [[SecondViewController alloc] init];

        

        [self.viewContoller.navigationController pushViewController:secondCtrl animated:YES];

        

    }

    在视图控制其中,创建MyView的一个对象

    MyView *myView = [[MyView alloc] initWithFrame:CGRectMake(0, 0, 375, 200)];

        myView.backgroundColor = [UIColor grayColor];

        [self.view addSubview:myView];

     另外还需要一个push视图,这个可以自己设置;

  • 相关阅读:
    X-CTF(REVERSE入门) python-trade
    X-CTF(REVERSE入门) getit
    X-CTF(REVERSE入门) csaw2013reversing2
    X-CTF(REVERSE入门) no-strings-attached
    X-CTF(REVERSE入门) insanity
    X-CTF(REVERSE入门) logmein
    面向对象编程的七大设计原则
    二叉树的性质
    Visual Studio 2017 WPF应用(.Net Freamwork)断点调试不命中的解决方法
    C语言读写文件
  • 原文地址:https://www.cnblogs.com/answer-Allen/p/4815316.html
Copyright © 2011-2022 走看看