送Python教程!从0基础入门全套教程!进来拿走!

图片 1

突然想起来,没有任何一个编辑界面让用户进来就可以提交,都是用户改变了输入框的内容之后才可以进行提交的。

这样我们在进入这个页面直接禁用 Done也是可以的。

图片 2

这样我们在页面出现的时候,就已经禁用了 Done按钮。

图片 3

经过测试, viewDidLayoutSubviews方法和
viewDidAppear方法都可以获取到这个按钮。

图片 4

下面是获取按钮的逻辑。

进来获取!!!!进来获取!!!!

因为系统是没有方式可以获取到 Done
按钮的,我们运用运行时倒是可以获取到这个按钮。

我首先想到的利用 KVO最后发现对于数组 字典是无法进行
KVO,只能通过其他的方法。这是系统内部的数组,我们不清楚系统怎么添加的,简单的拦截
NSArray的添加元素方法或者重写或者会出现其他的问题。

下面是需求完成图(自己做了优化)

图片 5

UIButton *btn;
    for (UIView *view in self.navigationController.navigationBar.subviews) {
        if ([view isKindOfClass:NSClassFromString(@"UINavigationButton")]) {
            UIButton *btn = (UIButton *)view;
            btn.userInteractionEnabled = isAllowOperation;
            btn.enabled = isAllowOperation;
        }
    }

但是调用是 viewDidLayoutSubviews
viewDidAppear之前。我们为了不出现页面已经出现在用户严重,按钮
Done从可用变成不可用。 我们在 viewDidLayoutSubviews
方法里面来进行判断。

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图