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视图,这个可以自己设置;

  • 相关阅读:
    一些大佬博客里的个签
    后缀子串排序
    PAT 1024 Palindromic Number[难]
    dp训练
    字符串最长子串匹配dp矩阵[转载]
    最短路径并查集+Floyd[转载]
    素数牛客网[求大数内所有素数]
    sql server 的规格参数,限制等 (zz)
    sql server varchar(max), NVARCHAR(MAX), VARBINARY(MAX) (zz)
    Oracle Data Types NVARCHAR2 (zz)
  • 原文地址:https://www.cnblogs.com/answer-Allen/p/4815316.html
Copyright © 2011-2022 走看看