查看iOS视图层级并修改UIsearchBar的cancel按钮不失去作用
(lldb) po [self.searchBar recursiveDescription]
<UISearchBar: 0x7ff35854f370; frame = ( ; ); text = 'p'; opaque = NO; gestureRecognizers = <NSArray: 0x7ff358550380>; layer = <CALayer: 0x7ff35854f890>>
| <UIView: 0x7ff35854fb90; frame = ( ; ); clipsToBounds = YES; autoresize = W+H; layer = <CALayer: 0x7ff35854fd00>>
| | <UISearchBarBackground: 0x7ff3585504d0; frame = ( ; ); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x7ff358550950>>
| | <UISearchBarTextField: 0x7ff358551480; frame = ( ; ); text = 'p'; clipsToBounds = YES; opaque = NO; gestureRecognizers = <NSArray: 0x7ff358553e80>; layer = <CALayer: 0x7ff358551850>>
| | | <_UISearchBarSearchFieldBackgroundView: 0x7ff358785900; frame = ( ; ); opaque = NO; autoresize = W+H; userInteractionEnabled = NO; layer = <CALayer: 0x7ff3587432a0>>
| | | <UIButton: 0x7ff358562e00; frame = (270.5 4.5; ); opaque = NO; layer = <CALayer: 0x7ff358562d00>>
| | | | <UIImageView: 0x7ff358493320; frame = (2.5 2.5; ); clipsToBounds = YES; opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x7ff3584934d0>>
| | | <UIImageView: 0x7ff358784340; frame = ( 7.5; ); opaque = NO; userInteractionEnabled = NO; layer = <CALayer: 0x7ff35877b4d0>>
| | | <UITextFieldLabel: 0x7ff3585524b0; frame = (- -; ); text = 'p'; opaque = NO; userInteractionEnabled = NO; layer = <_UILabelLayer: 0x7ff3585526c0>>
| | <UINavigationButton: 0x7ff358470020; frame = ( ; ); opaque = NO; layer = <CALayer: 0x7ff35840ad70>>
| | | <UIButtonLabel: 0x7ff35a82e430; frame = ( ; 20.5); text = 'Cancel'; opaque = NO; userInteractionEnabled = NO; layer = <_UILabelLayer: 0x7ff35a82e6e0>> //UINavigationButton是私有类,可以使用NSClassFromString转换过来
for (UIView *view in [[[self.searchBar subviews] objectAtIndex:] subviews]) { if ([view isKindOfClass:[NSClassFromString(@"UINavigationButton") class]]) {
UIButton *btn = (UIButton *)view;
btn.enabled = YES;
} }
查看iOS视图层级并修改UIsearchBar的cancel按钮不失去作用的更多相关文章
- 修改UISearchBar的Cancel按钮为中文等本地化问题
正确方法: 1:创建本地化strings. InfoPlist.strings 2:对InfoPlist.strings添加本地化语言. 即可. 只要添加文件, 系统会根据语言来调整显示文字 常见的搜 ...
- iOS7修改UISearchBar的Cancel按钮的颜色和文字
两行代码搞定: [[UIBarButtonItem appearanceWhenContainedIn: [UISearchBar class], nil] setTintColor:[UIColor ...
- 如何将UISearchBar上"Cancel"按钮改为”取消“?
别说话,直接上代码 for (id obj in [searchBar subviews]) { if ([obj isKindOfClass:[UIView class]]) { ...
- iOS 视图控制器转场详解
iOS 视图控制器转场详解 前言的前言 唐巧前辈在微信公众号「iOSDevTips」以及其博客上推送了我的文章后,我的 Github 各项指标有了大幅度的增长,多谢唐巧前辈的推荐.有些人问我相关的问题 ...
- View Programming Guide for iOS ---- iOS 视图编程指南(四)---Views
Views Because view objects are the main way your application interacts with the user, they have many ...
- View Programming Guide for iOS ---- iOS 视图编程指南(一)
Next About Windows and Views 关于窗口和视图 In iOS, you use windows and views to present your application’s ...
- 浏览器视图层级中的“根”:<html>和<body>的属性研究
做前端开发的同学都会知道,每一个UI系统(比如IOS或Android)中都会有一个view hierarchy(视图层级)的概念,即所有的可视元素(大到一个页面,小到一个button)都在一个树形结构 ...
- iOS运用runtime全局修改UILabel的默认字体
iOS运用runtime全局修改UILabel的默认字体 一.需求背景介绍 在项目比较成熟的基础上,遇到了这样一个需求,应用中需要引入新的字体,需要更换所有Label的默认字体,但是同时,对于一些特殊 ...
- iOS 视图控制器 (内容根据iOS编程编写)
视图控制器是 UIViewController 类或其子类对象.每个视图控制器都负责管理一个视图层次结构,包括创建视图层级结构中的视图并处理相关用户事件,以及将整个视图层次结构添加到应用窗口. 创建 ...
随机推荐
- 2016.07.04,英语,《Vocabulary Builder》Unit 23
text comes from a Latin verb that means 'to weave'. textile: ['tekstaɪl] adj. 纺织的 n. 纺织品; texture: [ ...
- Mininet实验 使用l2_multi模块寻找最短路径实验
参考:使用l2_multi模块寻找最短路径实验 1. 实验目的 1.认识VND并且掌握其基本使用方法. 2.学会使用pox控制器的l2_multi模块寻找主机间的最短传输路径. 2. 实验原理 VND ...
- Aliasing 走样
Computer Science An Overview _J. Glenn Brookshear _11th Edition Have you ever noticed the weird &quo ...
- Naming Service 与 Zookeeper
命名服务是指通过指定的名字来获取资源或者服务的地址,提供者的信息.利用Zookeeper很容易创建一个全局的路径,而这个路径就可以作为 一个名字,它可以指向集群中的集群,提供的服务的地址,远程对象 ...
- IE中的fireEvent和webkit中的dispatchEvent
拿浏览器的click事件来说: 在IE浏览器中如果一个element没有注册click事件,那么直接调用的话会出现异常!当然如果你注册了没有什么可说的. 那么如果使用fireEvent来处理,clic ...
- 20145211 《Java程序设计》第1周学习总结——小荷才露尖尖角
教材学习内容总结 Java语言概述 Java是SUN1995年推出的一门高级编程语言,完全面向对象,安全可靠,具有跨平台性(用其编写的语言在任何系统上都能运行,只需安装一个JVM) Java三大平台包 ...
- EntityFramework更新数据
1.TryUpdateModel 使用很方便,但实际更新数据的过程还是先select,再update.另外发现一个问题,对于input的type类型file的字段,无法使用TryUpdateModel ...
- VLC说明
一.简介 vlc的全名是Video Lan Client,是一个开源的.跨平台的视频播放器.VLC支持大量的音视频传输.封装和编码格式,完整的功能特性列表可以在这里获得http://www.video ...
- 更改Magento的base url
Magento的Base URL是用于访问商店页面的URL,您也可以为单独一个store view设置一个Base Url.在改这项值之前请确保您的域名已经指向了网站所在服务器的IP,DNS解析完成后 ...
- qq临时会话代码修改
使用:http://wpa.qq.com/msgrd?V=1&Uin=965745468&Site=www.***.com&Menu=yes提示 抱歉,无法发起临时会话,您可以 ...